{"id":20643138,"url":"https://github.com/medusajs/medusa-eats","last_synced_at":"2025-04-12T21:31:43.267Z","repository":{"id":251882683,"uuid":"788900630","full_name":"medusajs/medusa-eats","owner":"medusajs","description":"An Uber Eats-style food delivery platform, running Medusa 2.0 and Next.js 14.","archived":false,"fork":false,"pushed_at":"2025-03-24T12:38:41.000Z","size":24602,"stargazers_count":195,"open_issues_count":7,"forks_count":54,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-04T02:41:57.378Z","etag":null,"topics":["ecommerce","food-delivery","medusa","medusajs","open-source","opensource","oss","platform"],"latest_commit_sha":null,"homepage":"https://medusa-eats.vercel.app","language":"TypeScript","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/medusajs.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},"funding":{"github":["medusajs"]}},"created_at":"2024-04-19T10:02:00.000Z","updated_at":"2025-03-30T20:04:13.000Z","dependencies_parsed_at":"2025-01-04T23:12:38.275Z","dependency_job_id":"d539eb52-53af-433a-8c17-a109cde38daa","html_url":"https://github.com/medusajs/medusa-eats","commit_stats":null,"previous_names":["medusajs/medusa-eats"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medusajs%2Fmedusa-eats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medusajs%2Fmedusa-eats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medusajs%2Fmedusa-eats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medusajs%2Fmedusa-eats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/medusajs","download_url":"https://codeload.github.com/medusajs/medusa-eats/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248635189,"owners_count":21137185,"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":["ecommerce","food-delivery","medusa","medusajs","open-source","opensource","oss","platform"],"created_at":"2024-11-16T16:11:36.684Z","updated_at":"2025-04-12T21:31:43.245Z","avatar_url":"https://github.com/medusajs.png","language":"TypeScript","funding_links":["https://github.com/sponsors/medusajs"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.medusajs.com\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/59018053/229103275-b5e482bb-4601-46e6-8142-244f531cebdb.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://user-images.githubusercontent.com/59018053/229103726-e5b529a3-9b3f-4970-8a1f-c6af37f087bf.svg\"\u003e\n    \u003cimg alt=\"Medusa logo\" src=\"https://user-images.githubusercontent.com/59018053/229103726-e5b529a3-9b3f-4970-8a1f-c6af37f087bf.svg\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e\n  Medusa Eats - Food Delivery Platform Demo\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\nMedusa Eats ia a fullstack food delivery platform, inspired by Uber Eats, running on Medusa 2.0 and Next.js 14.\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/medusajs/medusa/blob/master/CONTRIBUTING.md\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat\" alt=\"PRs welcome!\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://discord.gg/xpCwq3Kfn8\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/chat-on%20discord-7289DA.svg\" alt=\"Discord Chat\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://twitter.com/intent/follow?screen_name=medusajs\"\u003e\n    \u003cimg src=\"https://img.shields.io/twitter/follow/medusajs.svg?label=Follow%20@medusajs\" alt=\"Follow @medusajs\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# Table of Contents\n\n1. [Overview](#overview)\n2. [Project Structure](#project-structure)\n3. [Quickstart](#quickstart)\n   - [Install dependencies](#install-dependencies)\n   - [Set up environment variables](#set-up-environment-variables)\n   - [Set up and seed the database](#set-up-and-seed-the-database)\n   - [Start developing](#start-developing)\n   - [Create User Accounts](#create-user-accounts)\n   - [Place an Order and Handle a Delivery](#place-an-order-and-handle-a-delivery)\n4. [Contribute](#contribute)\n5. [Resources](#resources)\n   - [Learn more about Medusa](#learn-more-about-medusa)\n   - [Learn more about Next.js](#learn-more-about-nextjs)\n\n# Overview\n\nMedusa Eats is built with:\n\n- [Medusa](https://medusajs.com/)\n- [Next.js](https://nextjs.org/)\n- [Tailwind CSS](https://tailwindcss.com/)\n- [Typescript](https://www.typescriptlang.org/)\n\nFeatures include:\n\n- Restaurant storefront\n- Realtime order status dashboards\n- Driver and restaurant dashboards\n- User roles\n- Authentication\n- Medusa Workflows\n- Realtime Server Sent Event\n\n# Project structure\n\nThe project consists of two main directories:\n\n- `/backend` contains the Medusa 2.0 project with all the customizations.\n  - This handles core functionalities, including user authentication, order management, and more.\n- `/frontend` contains the Next.js project.\n  - This handles the user interface, restaruant storefronts, dashboards, and more.\n\n# Quickstart\n\n### Install dependencies\n\nUse Yarn to install dependencies in both directories.\n\nIn `/frontend` run:\n\n```shell\nyarn\n```\n\nIn `/backend` run:\n\n```shell\nyarn\n```\n\n### Set up environment variables\n\nThe project comes with `.env.template` files to quickly set up your environment variables. Copy them to a `.env` file by running the following commands:\n\nIn `/frontend` run:\n\n```shell\ncp .env.template .env\n```\n\nIn `/backend` run:\n\n```shell\ncp .env.template .env\n```\n\n### Set up and seed the database\n\nCreate a Postgres database called `medusa-eats`.\n\nThe repo contains a setup script to build the project, run migrations and seed dummy data.\n\n\u003e Make sure your local Postgres server is running.\n\nIn `/backend` run:\n\n```shell\nyarn setup-db\n```\n\nThis will also create an admin user with the following credentials:\n\n```\nemail: admin@email.com\npasword: supersecret\n```\n\n### Start developing\n\nYou are now ready to start up your project.\n\n**Start Medusa dev server**\n\nMake sure that Redis and Postgres servers are running locally on their default ports.\n\nIn `/backend` run:\n\n```shell\nyarn dev\n```\n\nThe Medusa server is now running on http://localhost:9000.\n\n**Start Next.js dev server**\n\nIn a separate terminal, cd to `/frontend` and run:\n\n```shell\nyarn dev\n```\n\nThe Next.js frontend is now running on http://localhost:3000.\n\n### Create user accounts\n\nWe're gonna create a restaurant admin and driver account so we'll have access to both sides of the platform.\n\n**Create restaurant admin account**\n\n1. Go to http://localhost:3000/signup.\n2. Select 'I'm a restaurant'.\n3. Select the restaurant you want to create an admin for.\n4. Fill out the remaining form fields and click 'Create account'.\n5. You can now log in as a restaurant admin and access the restaurant dashboard at http://localhost:3000/dashboard/restaurant.\n\n**Create driver account**\n\n1. Repeat above steps, but this time select 'I'm a driver'.\n2. You can now log in as a driver and access the driver dashboard at http://localhost:3000/dashboard/driver.\n\n### Place an order and handle a delivery\n\n\u003e To go through the entire delivery workflow in realtime, you'll need to log into both a restaurant and a driver account. To do so, use an icognito window or second browser.\n\n1. Go to the storefront at http://localhost:3000/.\n2. Select a restaurant from the list.\n3. Add menu items to you delivery by clicking the + buttons.\n4. Click the shopping bag button on the top right.\n5. Click 'Go to checkout'.\n6. Complete the form and place you order. A live order status dashboard will show up.\n7. In a new tab, go to http://localhost:3000/dashboard/restaurant and log in as an admin for the restaurant you just placed an order at.\n8. Your order should be visible in the \"Incoming orders\" column. Click the button to accept the incoming order.\n9. In an incognito window, go to http://localhost:3000/dashboard/driver and log in as a driver.\n10. The accepted order will show up on your dashboard. Click the button to claim it.\n11. The order will go through the different stages on all dashboards in realtime. You can progress the order by marking each stage as complete on the relevant dashboard.\n\n# Contribute\n\nWe happily welcome contributions to this project!\n\u003cp style=\"font-size: smaller;\"\u003eNote: Please review the source code and ensure you have a thorough understanding of it before making any changes \u003c/p\u003e\n\nFollow the steps below to contribute to this project:\n\n### 1. Fork the Repository\n\n- Start by forking the repository to create your own copy. \n\n### 2. Browse the Issues\n\n- Head over to the [Issues tab](link-to-issues) to view open issues. \n- If you find an issue you want to work on, leave a comment to request being assigned to it. \n\n### 3. Open a New Issue \n\n- If you find a bug or have a feature idea that isn’t already listed, [open a new issue](link-to-create-an-issue).\n- In your issue, provide a clear description and reasoning behind the bug or idea. \n\n### 4. Make Changes in Your Fork\n\n- After being assigned an issue, clone your forked repository to your local machine.\n- Create a new branch for your changes, using a descriptive name.\n\n### 6. Merging Code\n\n- Make sure your changes don't conflict with existing functionalities\n- Push your changes to your forked repository and raise a pull request to the original repository\n\n# Resources\n\n## Learn more about Medusa\n\n- [Website](https://www.medusajs.com/)\n- [GitHub](https://github.com/medusajs)\n- [2.0 Documentation](https://docs.medusajs.com/v2)\n\n## Learn more about Next.js\n\n- [Website](https://nextjs.org/)\n- [GitHub](https://github.com/vercel/next.js)\n- [Documentation](https://nextjs.org/docs)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedusajs%2Fmedusa-eats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmedusajs%2Fmedusa-eats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedusajs%2Fmedusa-eats/lists"}