QuickBite is a full-stack web development project—a dynamic food ordering website that enables users to explore a variety of cuisines, place orders from the comfort of their homes, and make secure online payments with ease.
- Backend: Node.js
- Frontend: HTML, CSS, Bootstrap, React.js
- Database: MongoDB
- API Testing: Postman
- Cart management system built using ExpressJS.
- Allows item addition, removal, and real-time quantity updates.
- Efficient image storage and retrieval for menu items using Cloudinary APIs.
- Secure login/logout system integrated with Mailtrap for testing authentication flows.
- Stripe integration for seamless and secure payment processing.
- Optimized layout for mobile and desktop using Bootstrap and
Redux
.
- ✔️ Bootstrap significantly improves responsiveness and aesthetics with minimal effort.
- ✔️ MongoDB uses JSON format and supports encrypted storage of sensitive user data via JWT (JSON Web Tokens).
- ✔️ Understanding React hooks like
useState
,useEffect
, anduseSelector
is essential for modern frontend development. - ✔️ Prefer using
BrowserRouter
,Route
, andLink
from React Router DOM over standard anchor tags for client-side routing. - ✔️ Regular testing saves significant debugging time during later stages of development.
- ✔️ Organizing code by splitting tasks into multiple files boosts maintainability and clarity.
- ✔️ Tools like Mailtrap and Stripe are beginner-friendly and highly useful for practical web development.
📁 GitHub: https://lnkd.in/gMKuu8Um
🚧 Deployment is in progress. The live version will be shared soon!
Follow these steps to get the project running locally.
Ensure you have the following installed or login:
- Git
- Firebase
- Node.js
- npm (Node Package Manager)
git clone https://github.com/SakshamRajpal/FoodOrder-Project.git
cd FoodOrder-Project
npm install
- Create a .env.local file in the root directory:
PORT = 4000
NODE_ENV = DEVELOPMENT
DB_LOCAL_URI = mongodb://127.0.0.1:27017/Internship
JWT_SECRET=
JWT_EXPIRES_TIME=90
#CLOUDINARY
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
#MAIL-TRAP
EMAIL_USERNAME=
EMAIL_PASSWORD=
EMAIL_HOST=sandbox.smtp.mailtrap.io
EMAIL_PORT=2525
FRONTEND_URL="http://localhost:3000"
#STRIPE
STRIPE_SECRET_KEY=
STRIPE_API_KEY=
Replace the placeholders with your actual credentials.
npm run start
Visit http://localhost:3000 in your browser.
- Found a bug or want to contribute?
- Feel free to fork the repo, make changes, and open a pull request.
- ⭐ If you like this project, consider giving it a star!