{"repo":"VinoStudio/auth_service","free":true,"listed":false,"github":"https://github.com/VinoStudio/auth_service","clone":"git clone https://github.com/VinoStudio/auth_service.git","description":"Microservice for user authentication, authorization based on JWT mechanism with role-based access control. Project implement Event Driven Arhitecture, CQRS and Kafka as message broker.","language":"Python","stars":30,"topics":["authentication","authorization","clean-architecture","cqrs","ddd","ddd-architecture","dependency-injection","jwt-authentication","kafka","litestar"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Dependencies Presentation: - Litestar Infrastructure: - Postgres - Redis - Kafka Observation: - Prometheus - Alloy - Grafana - Loki Python Libs: - Pydantic - SQLAlchemy - Alembic - Celery - dishka - aiokafka - structlog Deployment: - Docker - Docker Compose Formatting/Linting: - black - ruff - mypy Project Manager: - uv Running the Application This project is containerized with Docker for easy setup and deployment. Follow these steps to get started: Requirements: - Docker and Docker Compose installed on your system - Git (to clone the repository) Setup: 1. Clone the repository: 2. Configure environment variables Edit the .env file with your preferred settings Starting and Stopping the Application The application uses a Docker Compose setup with multiple services: 1. Run the application: 2. Run observation (grafana, alloy, loki, prometheus): 3. Stop application running containers by: 4. Stop observation: Accessing Services Once running, you can access: - Auth Service API: http://localhost:8002/docs - PgAdmin: http://localhost:5437 You can change API port by editing the .env file To change PgAdmin, Postgres ports, edit the docker-compose.yaml Troubleshooting If you encounter issues: Architectural Overview The directory structure is based on Onion Architecture. Project follows a Domain-Driven Design (DDD) approach with a pragmatic implementation of the CQRS (Command Query Responsibility Segregation) pattern. The codebase is organized into four main layers: Domain Layer (src/doma","default_branch":null,"files":null,"tree":[],"storefront":"/r/VinoStudio","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/VinoStudio/auth_service/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}