Population Management System for managing locations and the total number of persons in each location broken down by gender It allows the following operations:
- Creation of locations (with unique names)
- Creation of sub-locations by specifying the parentID during creation of the location
- Deletion of location - Preserving sub-locations (rendering them parentless)
- Updating location details.
- And much more, if not already implemented, surely are in the works
To be able to run this application locally, the following are required:
- Node.JS
- Node Package Manager (npm)
- Postgres DB service
This can be easily installed locally through these steps:
- Clone the repository locally
- Create a .env file in the root repository with the necessary environment variables as in the .env.example file
- Create the Postgres databases specified in the .env DB URLs
- Run
npm install
to install dependent Node packages - Run
npm run migrations
to run necessary DB migrations - Run
npm start
to start the server and test the API's as documented in the swagger docs
To interact with this service, you should use the API documentation available at Swagger Hub
This application can be tested locally by running npm test
- Fork this repository to your GitHub account
- Clone the forked repository
- Create your feature branch
- Commit your changes
- Push to the remote branch
- Open a Pull Request
- Setup Version Control System
- Setup CI/CD using Travis for builds and Coveralls for coverage reporting
- Add Integration tests
- Implement Data Layer - Models, Migrations..
- Implement Routes, Controllers, and API server
- Implement Pagination
- Implement Searching
- Setup code style linting checks
- Add Web UI
sms-management-api is implemented using a number of technologies, these include: