Skip to content

SakshamRajpal/FoodOrder-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Screenshot 2024-10-14 183646 Screenshot 2024-10-14 183759 Screenshot 2024-10-14 183819 Screenshot 2024-10-14 184340 Screenshot 2024-10-14 184111

🍔 QuickBite - Online Food Ordering Platform

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.


⚙️ Technologies Used:

  • Backend: Node.js
  • Frontend: HTML, CSS, Bootstrap, React.js
  • Database: MongoDB
  • API Testing: Postman

📑 Key Features:

🛒 Streamlined Ordering (ExpressJS)

  • Cart management system built using ExpressJS.
  • Allows item addition, removal, and real-time quantity updates.

🌐 Media Handling with Cloudinary

  • Efficient image storage and retrieval for menu items using Cloudinary APIs.

🔐 User Authentication

  • Secure login/logout system integrated with Mailtrap for testing authentication flows.

💰 Payment Integration

  • Stripe integration for seamless and secure payment processing.

📲 Responsive Design

  • Optimized layout for mobile and desktop using Bootstrap and Redux.

📘 What I Learned:

  • ✔️ 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, and useSelector is essential for modern frontend development.
  • ✔️ Prefer using BrowserRouter, Route, and Link 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.

🔗 Project Repository:

📁 GitHub: https://lnkd.in/gMKuu8Um
🚧 Deployment is in progress. The live version will be shared soon!


🤸 Quick Start:

Follow these steps to get the project running locally.

🔧 Prerequisites

Ensure you have the following installed or login:

  • Git
  • Firebase
  • Node.js
  • npm (Node Package Manager)

📦 Clone the Repository

git clone https://github.com/SakshamRajpal/FoodOrder-Project.git
cd FoodOrder-Project

📥 Install Dependencies

npm install

🔐 Set Up Environment Variables

  • 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.

▶️ Run the Development Server

npm run start

Visit http://localhost:3000 in your browser.


🤝 Contributing:

  • 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!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published