{"id":27140326,"url":"https://github.com/alisharify7/user-service-management","last_synced_at":"2026-05-05T12:31:35.894Z","repository":{"id":286424229,"uuid":"961045392","full_name":"alisharify7/user-service-management","owner":"alisharify7","description":"user-managment FastAPI service  for microservice architecture","archived":false,"fork":false,"pushed_at":"2025-09-10T17:46:19.000Z","size":378,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-10T21:44:44.722Z","etag":null,"topics":["alembic","async","async-db-connection","async-logging","fastapi","microservice","rabbitmq","redis","user-service"],"latest_commit_sha":null,"homepage":"https://github.com/alisharify7/user-service-management","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alisharify7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-05T16:27:29.000Z","updated_at":"2025-09-10T17:46:23.000Z","dependencies_parsed_at":"2025-05-11T13:28:10.423Z","dependency_job_id":"023f46bc-7a4b-476d-8ac9-098906c655ed","html_url":"https://github.com/alisharify7/user-service-management","commit_stats":null,"previous_names":["alisharify7/user-service-management"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alisharify7/user-service-management","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alisharify7%2Fuser-service-management","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alisharify7%2Fuser-service-management/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alisharify7%2Fuser-service-management/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alisharify7%2Fuser-service-management/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alisharify7","download_url":"https://codeload.github.com/alisharify7/user-service-management/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alisharify7%2Fuser-service-management/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32649516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alembic","async","async-db-connection","async-logging","fastapi","microservice","rabbitmq","redis","user-service"],"created_at":"2025-04-08T05:51:42.715Z","updated_at":"2026-05-05T12:31:35.881Z","avatar_url":"https://github.com/alisharify7.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 👥 User Management Microservice (FastAPI + RabbitMQ)\r\n\r\n\r\nA FastAPI-based microservice for user management with RabbitMQ event integration, providing RESTful APIs and message queue support for distributed systems.\r\n\r\n## fully async support  async DB orm (sqlalchemy), async logging (stdout, file + rotation), async redis, async rabbitmq\r\n\r\n## Tech Stack\r\n\u003cdiv\u003e\r\n\t\u003cimg src=\"https://skillicons.dev/icons?i=python\"/\u003e\r\n\t\u003cimg src=\"https://skillicons.dev/icons?i=fastapi\"/\u003e\r\n\t\u003cimg src=\"https://skillicons.dev/icons?i=postgresql\"/\u003e\r\n    \u003cimg src=\"https://skillicons.dev/icons?i=rabbitmq\"/\u003e\r\n    \u003cimg src=\"https://skillicons.dev/icons?i=redis\"/\u003e\r\n\t\u003cimg src=\"https://skillicons.dev/icons?i=docker\"/\u003e\r\n\u003c/div\u003e\r\n\r\n## Features\r\n\r\n- **User CRUD Operations**: Create, Read, Update, and Delete users via API\r\n- **RabbitMQ Integration**: Event-driven architecture for microservice communication\r\n- **RESTful API**: Fully documented endpoints following OpenAPI standards\r\n- **Scalable Design**: Ready for containerized deployment in cloud environments\r\n* **Comprehensive User Management**: Add, edit, and delete users.\r\n* **Powerful API**: Exposes RESTful APIs for user management.\r\n* **RabbitMQ Support**: Listens to RabbitMQ queues for asynchronous operations.\r\n* **Microservice-Ready**: Designed for use in microservice architectures.\r\n* **Automatic Documentation**: Uses Swagger UI for automatic API documentation.\r\n* **Data Validation**: Employs Pydantic for input/output data validation.\r\n* **Persistence**: Utilizes a database for user data storage.\r\n\r\n\r\n\u003cimg src=\"./docs/scheme.png\"\u003e\r\n\u003cimg src=\"./docs/db-schema.png\"\u003e\r\n\r\n## API Endpoints\r\n\r\n| Endpoint                           | Method | Description                        |\r\n|------------------------------------|--------|------------------------------------|\r\n| `/users`                           | POST   | Create new user                    |\r\n| `/users`                           | GET    | List all users                     |\r\n| `/users/id/{user_id}`              | GET    | Get user details by its id         |\r\n| `/users/username/{username}`       | GET    | Get user details by its username   |\r\n| `/users/public_key/{public_key}` | GET    | Get user details by its public key |\r\n| `/users/{user_id}`                 | PUT    | Update user                        |\r\n| `/users/{user_id}`                 | DELETE | Delete user                        |\r\n\r\n## RabbitMQ Queues\r\n\r\nThe service listens to these queues:\r\n\r\n- `user.create` - Process user creation events\r\n- `user.update` - Handle user update events\r\n- `user.delete` - Manage user deletion events\r\n\r\n## Prerequisites\r\n\r\n- Python 3.12+\r\n- RabbitMQ server\r\n- FastAPI dependencies\r\n- uv package manager\r\n\r\n## Installation\r\n\r\n1. Clone the repository:\r\n   ```bash\r\n   git clone +\r\n   cd user-management\r\n    ```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falisharify7%2Fuser-service-management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falisharify7%2Fuser-service-management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falisharify7%2Fuser-service-management/lists"}