Skip to content
/ mulungu Public

Mulungu is a experimental service for creating and managing organizational charts, built in Go.

License

Notifications You must be signed in to change notification settings

cauli/mulungu

Repository files navigation

Mulungu

Build Status Go Report Card

Mulungu is a service for creating and managing organizational charts, built in Go.

Features

  • 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

Running the server

To run the server:

$ docker-compose up

When everything is ready, your server will be accessible via localhost:8080

API Overview

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.

Tests

This project uses Behavior Specifications tests, in BDDish style.

To run the tests:

$ docker-compose run mulungu go test -v ./...

What is the meaning of the name Mulungu?

Erythrina Mulungu is a native brazilian tree with a distinct red flowers, and an interesting branching pattern.

About

Mulungu is a experimental service for creating and managing organizational charts, built in Go.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published