MicroKey is an open-source, microservices-based application that integrates a Django backend with a Golang Gin service, providing a seamless and scalable architecture for authentication and API management.
_____________________
/ Microservices \
| ____ ____ |
| | | | | |
| |Django | Gin| |
| |____| |____| |
| |
\______________________/
Spinning...
MicroKey leverages a microservices architecture to ensure scalability, maintainability, and flexibility:
- Django Auth Service: Handles user authentication and management.
- Golang Gin API Service: Provides lightweight, high-performance API endpoints.
- Django Backend: Handles user authentication and serves REST APIs.
- Golang Gin Service: Lightweight middleware for authentication.
- SQLite Database: Lightweight, serverless database for easy setup and testing.
- Docker Support: Easy to set up and run using Docker Compose.
- GitHub Integration: Version control and collaboration.
- Open Source: Contributions are welcome and encouraged!
MicroKey/
├── Dockerfile.django
├── Dockerfile.gin
├── docker-compose.yml
├── auth-service-django/
│ ├── apps/
│ │ └── accounts/
│ ├── config/
│ ├── manage.py
│ ├── db.sqlite3
│ ├── requirements.txt
│ └── myenv/
├── gin-auth-api/
│ ├── main.go
│ ├── middleware.go
│ ├── go.mod
│ └── go.sum
└── README.md
-
Clone the repository:
git clone https://github.com/vivekjha1213/MicroKey.git cd MicroKey
-
Build and run the services:
docker-compose up --build
-
Access the services:
- Django API: http://localhost:8000
- Golang Gin API: http://localhost:9000
cd auth-service-django
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
cd gin-auth-api
go run main.go
We welcome contributions! Here's how you can contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
Let's build something amazing together!