{"id":21151630,"url":"https://github.com/alina1412/task_with_rabbitmq","last_synced_at":"2026-04-13T22:31:59.550Z","repository":{"id":63994856,"uuid":"571496583","full_name":"alina1412/task_with_rabbitmq","owner":"alina1412","description":"Project provides take feedback from users (frontend form), process it and save to database through rabbitmq.","archived":false,"fork":false,"pushed_at":"2024-11-21T09:37:03.000Z","size":126,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-21T08:11:57.746Z","etag":null,"topics":["alembic","asyncio","docker-compose","fastapi","poetry","postgres","rabbitmq","sqalchemy","tornado"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alina1412.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-11-28T09:05:39.000Z","updated_at":"2024-11-21T09:37:07.000Z","dependencies_parsed_at":"2023-02-05T17:32:13.549Z","dependency_job_id":null,"html_url":"https://github.com/alina1412/task_with_rabbitmq","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alina1412%2Ftask_with_rabbitmq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alina1412%2Ftask_with_rabbitmq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alina1412%2Ftask_with_rabbitmq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alina1412%2Ftask_with_rabbitmq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alina1412","download_url":"https://codeload.github.com/alina1412/task_with_rabbitmq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243591620,"owners_count":20315880,"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":["alembic","asyncio","docker-compose","fastapi","poetry","postgres","rabbitmq","sqalchemy","tornado"],"created_at":"2024-11-20T10:17:58.026Z","updated_at":"2026-04-13T22:31:54.518Z","avatar_url":"https://github.com/alina1412.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Task with rabbitmq\n\n\n## Description\nThe project provides functionality to take a feedback from users (a frontend form), process it and save it to the database.\n\nIt runs as 5 docker containers.\n\n\u003e Frontend -\u003e Backend -\u003e Rabbitmq -\u003e Saving-to-db-service -\u003e db\n\n Frontend gets feedback from users, sends it to backend, which validates it and sends to rabbitmq. The next service retrieves it from the rabbitmq and sends the data to the db.\nThe separation into containers provides the ability of scaling.\n\n## How it works (from the frontend outside view)\nvideo (1 min):  \n[![Watch the video](https://img.youtube.com/vi/QXJ_mjqCwfQ/2.jpg)](https://youtu.be/QXJ_mjqCwfQ)\n \n\n## How to run locally\nif running first time\n- create virtual environment (poetry install)\n- run `make build` command from Makefile\n- run `make db-migrate` after all containers started (rabbitmq starts for quite long)\n- check rabbitmq locally by http://localhost:15672 with username and password from .env\n- check frontend locally by http://localhost:8080/\n- check db by connecting to it with data from .env\n\n\n\n## Tools used\n- rabbitmq\n- tornado\n- fastapi\n- docker-compose\n- postgres db\n- alembic\n- poetry\n- pydantic\n- javascript, html\n- asyncio\n\n\u003cimg src=\"https://user-images.githubusercontent.com/8655093/205086299-895367b2-6a73-47e9-a7ec-3bb2c64669e7.jpg\" height=\"250\"\u003e \u003c/img\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/8655093/204727512-c9aabd8b-af6c-4a4c-a422-efca3961d6a9.jpg\" height=\"250\"\u003e \u003c/img\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/8655093/204727517-77437070-42cc-4b1d-bd0c-164f27badbe2.jpg\" height=\"250\"\u003e \u003c/img\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/8655093/204727518-3c500b06-ea9d-4798-a17d-838a126836ef.jpg\" height=\"250\"\u003e \u003c/img\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/8655093/204727520-d8979105-80c6-45e2-985c-962125f6dd34.jpg\" height=\"250\"\u003e \u003c/img\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falina1412%2Ftask_with_rabbitmq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falina1412%2Ftask_with_rabbitmq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falina1412%2Ftask_with_rabbitmq/lists"}