Habit Tracker
A GraphQL API for tracking your habits.
About
The GraphQL API is written in Golang and relies on the gqlgen library and the echo framework. It interacts with MongoDB using the official drivers. The data layer is unit tested.
The GraphQL schema, encompassing all available types, queries, and mutations, can be located within the internal/graphql/schema.graphql
file. Additionally, the API is secured with JWT-based authentication.
The project includes a CI/CD worflow built with GitHub Actions. Infrastructured is created in DigitalOcean using Pulumi, and the API is deployed as a Docker image.
To Do
- Improve the error messages.
- Implement validator.
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
License
Distributed under the GNU General Public License v3.0. See LICENSE
for more information.