Mulungu is a service for creating and managing organizational charts, built in Go.
- Easy API to manage charts and employees
- Low memory consumption due to the usage of memory pointers
- Fast operations, even with many nodes
- Uses memory cache by default
To run the server:
$ docker-compose up
When everything is ready, your server will be accessible via localhost:8080
resource | method | description |
---|---|---|
/chart/:chartId |
GET | Retrieves a JSON structure with the whole chart hierarchy |
/chart/:chartId |
PUT | Inserts a new chart with id :chartId . By default, a root node is inserted. |
/chart/:chartId |
DELETE | Removes :chartId completely |
/chart/:chartId/employee/:employeeId |
PUT | Inserts an employee to :chartId , or updates its info (including leader) |
/chart/:chartId/employee/:employeeId/subordinates |
GET | Retrieves a JSON structure containing all subordinates of :employeeId |
A Postman documentation and a Postman collection are provided with full examples of requests and responses.
This project uses Behavior Specifications tests, in BDDish style.
To run the tests:
$ docker-compose run mulungu go test -v ./...
Erythrina Mulungu is a native brazilian tree with a distinct red flowers, and an interesting branching pattern.