A GraphQL API built with Go for managing contributors, featuring MongoDB for data storage and Redis for caching and rate limiting.
- GraphQL API using gqlgen
- MongoDB for persistent storage
- Redis for caching and rate limiting
- Clean architecture with separation of concerns
- Comprehensive test coverage
- Go 1.21 or higher
- MongoDB
- Redis
- Make (optional, for using Makefile)
- Clone the repository:
git clone https://github.com/aakashdeepsil/go-contributors-api.git
- Install dependencies
go mod download
- Copy the example environment file:
cp .env.example .env
- Update the environment variables in .env as needed
- Run the server:
go run cmd/server/main.go
- cmd/: Application entry points
- internal/: Private application code
- config/: Configuration management
- database/: Database connections and repositories
- graph/: GraphQL schema and resolvers
- middleware/: HTTP middleware
- service/: Business logic
- pkg/: Public libraries that can be used by external applications