{"id":20944486,"url":"https://github.com/numq/dddating-backend","last_synced_at":"2025-07-03T19:07:35.698Z","repository":{"id":166805094,"uuid":"641912404","full_name":"numq/dddating-backend","owner":"numq","description":"A dating backend written in Rust and based on the gRPC microservices ecosystem and Clean Architecture principles","archived":false,"fork":false,"pushed_at":"2024-04-20T21:53:42.000Z","size":687,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-01T12:45:48.583Z","etag":null,"topics":["amqp","backend","clean-architecture","dating","grpc","jwt","lapin","microservices","mongodb","protobuf","redis","rust","tokio","tonic"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/numq.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}},"created_at":"2023-05-17T12:29:10.000Z","updated_at":"2025-05-03T08:27:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"9cdb7353-2f4d-4d05-a39c-2d1cb214bbe9","html_url":"https://github.com/numq/dddating-backend","commit_stats":null,"previous_names":["numq/dddating-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/numq/dddating-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numq%2Fdddating-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numq%2Fdddating-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numq%2Fdddating-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numq%2Fdddating-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/numq","download_url":"https://codeload.github.com/numq/dddating-backend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/numq%2Fdddating-backend/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263385737,"owners_count":23458744,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["amqp","backend","clean-architecture","dating","grpc","jwt","lapin","microservices","mongodb","protobuf","redis","rust","tokio","tonic"],"created_at":"2024-11-18T23:42:25.766Z","updated_at":"2025-07-03T19:07:35.678Z","avatar_url":"https://github.com/numq.png","language":"Rust","funding_links":["https://www.buymeacoffee.com/numq","https://img.buymeacoffee.com/button-api/?text=Buy"],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://www.buymeacoffee.com/numq\"\u003e\u003cimg src=\"https://img.buymeacoffee.com/button-api/?text=Buy me a one way ticket\u0026emoji=✈️\u0026slug=numq\u0026button_colour=5F7FFF\u0026font_colour=ffffff\u0026font_family=Inter\u0026outline_colour=000000\u0026coffee_colour=FFDD00\" /\u003e\u003c/a\u003e\n\n# DDDating backend\n\n\u003e This is an overview of the project. Go to the submodule to see the implementation details of a specific service.\n\nDating application backend based on the gRPC microservices ecosystem and Clean Architecture principles\n\n____\n\n[Try plugin for IntelliJ, make it easy to generate Protobuf code](https://plugins.jetbrains.com/plugin/21792-protobuf-blueprint)\n\n[![Protobuf Blueprint](https://github.com/numq/protobuf-blueprint-plugin/blob/master/media/logo.png)](https://plugins.jetbrains.com/plugin/21792-protobuf-blueprint)\n\n![Overview](./media/dddating-backend-overview.png)\n\n## Installation\n\n\u003e docker-compose up -d\n\n## Services:\n\n\u003e Details about the API methods are available in the README of each service\n\n- [Gateway](./service/gateway) - Entrypoint via microservices aggregation\n- [Authentication](./service/authentication) - Password based authentication functionality\n    - [Account](./service/account) - User account management\n    - [Token](./service/token) - User authentication session handling\n- [Conversation](./service/conversation) - Chat between matches\n- [Matchmaking](./service/matchmaking) - Likes, dislikes with expiration and backtrack\n- [Profile](./service/profile) - User profile management\n- [Recommendation](./service/recommendation) - Match candidates by filters\n- [Safety](./service/safety) - Profile report system\n- [Support](./service/support) - Ticket based report functionality\n\n## Architecture:\n\n- *Clean Architecture*\n- *Domain-driven design (DDD)*\n- *Reactive programming*\n- *Rust* workspace\n- *gRPC* based microservices\n- *gRPC* based gateway\n\n## Technologies:\n\n- **Rust** language\n- **tokio** async runtime\n- **tonic** gRPC implementation\n- **prost** Protocol Buffers implementation\n- **RabbitMQ (lapin)** message brocker\n- **MongoDB** NoSQL database\n- **Redis** in-memory cache\n- **JWT** based authentication","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnumq%2Fdddating-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnumq%2Fdddating-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnumq%2Fdddating-backend/lists"}