The project is a Subscription service using Golang and REST API that uses gorilla/mux as router framework, SQLite as a database and Docker to build.
The project is also using Clean Architecture.
- Json validator
- Context timeout
- Integration test
- Cache
- Error handler
- Test cover
- Add audit columns in DB
To run project locally you need to export the environment variable PORT=:8080 or to other port to your choice and.
You must have installed:
- Golang >=1.16
make run-localmake testsmake docker-image
make docker-runor just
make docker-upThe default PORT to test via Docker is 8080
to run tests on Docker:
make docker-testsThe API documentation ./docs/api/swagger.yaml The database schema ./docs/db/v1.0.0-schema.sql The database model ./docs/db/model.png