{"repo":"SamWarden/user_service","free":true,"listed":false,"github":"https://github.com/SamWarden/user_service","clone":"git clone https://github.com/SamWarden/user_service.git","description":"An example of a simple CRUD Web API using FastAPI","language":"Python","stars":292,"topics":["api","clean-architecture","cqrs","ddd","fastapi","sqlalchemy","crud"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"User Service User service is a simple CRUD Web API that adheres to the principles of Clean Architecture, uses some DDD tactical patterns and follows CQRS Endpoints GET /healthcheck POST /users/ GET /users/ Dependencies Infrastructure - Postgres — Database - RabbitMQ — The queue used to publish events - Docker — For deployment Grafana stack - Grafana — Web view for logs - Loki — A platform to store and query logs - Vector.dev — A tool to collect logs and send them to Loki Key python libs - FastAPI — Async web framework - SQLAlchemy 2.0 — ORM for working with database - Alembic — Database schema migration tool - DI — A dependency injection tool for easy initialization and delivery of dependencies - didiator — Mediator to interact with application layer and publish events - adaptix (dataclass factory 3.0a0) — Library for simple model serialization and mapping - structlog — For better logging config - aio-pika — Client to interact with RabbitMQ TODO - [ ] Implement outbox pattern - [X] Add auto-tests - [X] Configure CI","default_branch":null,"files":null,"tree":[],"storefront":"/r/SamWarden","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/SamWarden/user_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."}