{"id":16325769,"url":"https://github.com/siegfriedbz/nextjs-miozio","last_synced_at":"2025-04-09T13:31:34.382Z","repository":{"id":204828353,"uuid":"712754873","full_name":"SiegfriedBz/Nextjs-MioZio","owner":"SiegfriedBz","description":"🍔 Next.js 14 app (App Router) enabling users to authenticate via Google or a magic link (powered by Brevo), order food, and securely pay using Stripe. Built with TypeScript and Tailwind CSS, Prisma with PostgreSQL for backend data management.","archived":false,"fork":false,"pushed_at":"2024-07-05T12:13:59.000Z","size":25831,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T06:12:14.255Z","etag":null,"topics":["app-router-nextjs","cloudinary","framer-motion","google-authentication","magic-link-authentication","next-auth","nextjs","postgresql","prisma","stripe-api","tailwindcss","typescript","zustand","zustand-persist"],"latest_commit_sha":null,"homepage":"https://mio-zio.vercel.app","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/SiegfriedBz.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-11-01T05:50:15.000Z","updated_at":"2024-12-23T11:56:24.000Z","dependencies_parsed_at":"2024-06-24T05:36:38.117Z","dependency_job_id":null,"html_url":"https://github.com/SiegfriedBz/Nextjs-MioZio","commit_stats":null,"previous_names":["siegfriedbz/next_app__restaurant","siegfriedbz/nextjs-miozio"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiegfriedBz%2FNextjs-MioZio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiegfriedBz%2FNextjs-MioZio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiegfriedBz%2FNextjs-MioZio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiegfriedBz%2FNextjs-MioZio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SiegfriedBz","download_url":"https://codeload.github.com/SiegfriedBz/Nextjs-MioZio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248049242,"owners_count":21039186,"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":["app-router-nextjs","cloudinary","framer-motion","google-authentication","magic-link-authentication","next-auth","nextjs","postgresql","prisma","stripe-api","tailwindcss","typescript","zustand","zustand-persist"],"created_at":"2024-10-10T23:06:18.477Z","updated_at":"2025-04-09T13:31:33.964Z","avatar_url":"https://github.com/SiegfriedBz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# MioZio\n\nThis is a Next.js 14 (App Router) application for a food delivery service.  \nUsers can authenticate using Google or a magic link (powered by Brevo), order food, and make secure payments through Stripe.  \nThe app is written in TypeScript with a responsive design using Tailwind CSS.  \nThe backend uses Prisma as the ORM with a PostgreSQL database.\n\n# Table of Contents\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Upload Images to Cloudinary](#upload-images-to-cloudinary)\n- [Set up Prisma \u0026 Seed the database](#set-up-prisma--seed-the-database)\n- [Running the Development Server](#running-the-development-server)\n- [Building for Production](#building-for-production)\n- [Running the Production Server](#running-the-production-server)\n- [Technologies Used](#technologies-used)\n- [Live Demo](#live-demo) 🚀\n\n# Prerequisites\nBefore you begin, ensure you have met the following requirements:\n- Node.js\n- PostgreSQL database provider (e.g., hosted by [neon.com](https://neon.com))\n- Stripe account for payment processing\n- Brevo account for magic link authentication\n- Cloudinary account for image hosting\n\n# Installation\n\n1. Clone the repository:\n```bash\ngit clone git@github.com:SiegfriedBz/next_app__restaurant.git\ncd next_app__restaurant\n```\n\n2. Install dependencies:\n```bash\nnpm install\n```\n\n3. Set up environment variables:\n\nCreate a .env file in the root directory and add the following environment variables\n\n```env\n# Contact Information\nPHONE_NUMBER=\nMAIL_CONTACT=\n\n# Database Configuration\n# PostgreSQL database connection string\nDATABASE_URL=\"postgresql://...\"\n\n# NextAuth Configuration\nNEXT_PUBLIC_NEXTAUTH_URL=\nNEXTAUTH_SECRET=\n\n# NextAuth - Google Provider\n# Google OAuth client ID and secret\nGOOGLE_CLIENT_ID=\nGOOGLE_SECRET_ID=\n\n# Cloudinary Configuration\n# Cloudinary cloud name\nCLOUDINARY_CLOUD_NAME=\n# Cloudinary application name for seeding images\nCLOUDINARY_APP_NAME=\"MyApp\"\n# Cloudinary API key and secret\nCLOUDINARY_API_KEY=\nCLOUDINARY_API_SECRET=\n\n# Stripe Configuration\n# Stripe API keys (get them from https://dashboard.stripe.com/apikeys)\nNEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=\nSTRIPE_SECRET_KEY=\n\n# Brevo Mail API\n# API key for Brevo email service\nBREVO_API_KEY=\n```\n\n# Upload Images to Cloudinary\n- Ensure you have images in the `./seed/data/images` folder.\n- Run the following command to upload the images:\n```bash\nnpm run seed:cloudinary\n```\n\n# Set up Prisma \u0026 Seed the database\n\nInitialize Prisma:\n```bash\nnpx prisma init\n```\n\nGenerate Prisma Client:\n```bash\nnpx prisma generate\n```\n\nSeed the database:\n```bash\nnpm run seed:db\n```\n       \n# Running the Development Server\nTo start the development server, run:\n\n```bash\nnpm run dev\n  ```\n\n# Building for Production\nTo build the project for production, run:\n\n```bash\nnpm run build\n```\n\n# Running the Production Server\nAfter building the project, you can start the production server with:\n\n```bash\nnpm start\n```\n\n# Technologies Used\n\n- **Framework**: React, Next.js 14 (App Router)\n- **TypeScript**: Provides type safety and improved development experience.\n- **Cloudinary**: : Image hosting service.\n\n## Frontend:\n- **react-query**: Library for managing server-state in React applications\n- **Styling**: Tailwind CSS, responsive design\n\n## Backend:\n- **ORM**: Prisma\n- **DB**: PostgreSQL\n- **Authentication**: NextAuth.js with Google Provider and Brevo for magic link.\n\n## Payment Processing:\n- **Stripe**\n\n## Live Demo\nVisit the live demo of [MioZio](https://mio-zio.vercel.app/) deployed on Vercel\nPostgreSQL DB hosted on [neon.com](https://neon.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiegfriedbz%2Fnextjs-miozio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsiegfriedbz%2Fnextjs-miozio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiegfriedbz%2Fnextjs-miozio/lists"}