{"id":22533499,"url":"https://github.com/vectormike/food-delivery-system","last_synced_at":"2025-09-07T06:36:36.727Z","repository":{"id":169492518,"uuid":"645481236","full_name":"Vectormike/food-delivery-system","owner":"Vectormike","description":"A Food Delivery System designed to handle the ordering process, track order details, log system activities, and provide integration with RabbitMQ for real-time communication.","archived":false,"fork":false,"pushed_at":"2023-05-26T09:29:41.000Z","size":220,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-07T06:36:11.216Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/Vectormike.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-25T18:49:41.000Z","updated_at":"2023-05-25T18:50:20.000Z","dependencies_parsed_at":"2024-03-16T13:03:19.993Z","dependency_job_id":null,"html_url":"https://github.com/Vectormike/food-delivery-system","commit_stats":null,"previous_names":["vectormike/food-delivery-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Vectormike/food-delivery-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectormike%2Ffood-delivery-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectormike%2Ffood-delivery-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectormike%2Ffood-delivery-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectormike%2Ffood-delivery-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vectormike","download_url":"https://codeload.github.com/Vectormike/food-delivery-system/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectormike%2Ffood-delivery-system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274005336,"owners_count":25205934,"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","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-12-07T09:08:30.662Z","updated_at":"2025-09-07T06:36:36.701Z","avatar_url":"https://github.com/Vectormike.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://res.cloudinary.com/class-attend/image/upload/v1673013921/logo_d3czjj.png\" width=\"200\" alt=\"FoodCourt Logo\" /\u003e\n\u003c/p\u003e\n\n\n## Description\n\nThe Food Delivery System is designed to handle the ordering process, track order details, log system activities, and provide integration with RabbitMQ for real-time communication.\n\nThe main components of the system include:\n\n- Orders: Represents customer orders placed in the system.\n- Logs: Tracks system activities and events.\n- OrderTotalAmountHistory: Keeps a record of the total amount history for orders.\n- CalculatedOrder: Stores calculated order details.\n- OrderType: Defines different types of orders.\n## Installation\n\n```bash\n$ npm install\n```\n\n## Environemnt setup\n\nCopy the file into the project's root directory after Installing node modules.\n\n1. Set up the database connection by modifying the `knexfile.js` file in the project's root directory.\n\n2. Run database migrations to create the required tables:\n\n```\nnpx knex migrate:latest\n```\n\n## RabbitMQ Integration\n\nThe system integrates with RabbitMQ to enable real-time communication. The RabbitMQ service listens to a specific queue for incoming messages and performs actions based on the received messages. To configure the RabbitMQ integration, follow these steps:\nIf you are using Docker to run your RabbitMQ server, you can follow these steps to integrate RabbitMQ into your application:\n\n1. Set up a RabbitMQ container using Docker. You can use the official RabbitMQ Docker image available on Docker Hub. Run the following command to create a RabbitMQ container:\n\n```\ndocker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:latest\n```\n\nThis command creates a RabbitMQ container and maps the default RabbitMQ ports (5672 for AMQP and 15672 for the management interface) to the corresponding ports on your host machine.\n\n2. The service will start listening to the configured RabbitMQ queue. The messages are published to the RabbitMQ queue whenever an order is created.\n\n## Running the app\n\n```bash\n# development\n$ npm start\n\n# watch mode\n$ npm run start:dev\n\n# production mode\n$ npm run start:prod\n\n\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvectormike%2Ffood-delivery-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvectormike%2Ffood-delivery-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvectormike%2Ffood-delivery-system/lists"}