Skip to content

I am developing a real-time pizza application using Node.js, MongoDB, EJS, and Bootstrap. The app features live order tracking and notifications, dynamic HTML templates, and responsive design. You are deploying the application on AWS, utilizing services such as EC2 for hosting, S3

Notifications You must be signed in to change notification settings

sujoyghoshal/RealTime-Pizza-Tracker

Repository files navigation

Real-Time Pizza Tracker 🍕

A comprehensive real-time pizza delivery tracking system built with Node.js, Express, MongoDB, EJS, and Socket.IO. It features a customer and admin dashboard, order tracking, and real-time updates. The app also integrates Nodemailer for sending email notifications.

Deployment on Render 🔥

  1. Push the project to GitHub.
  2. deploy https://sujoy-pizza.onrender.com

Real-Time Pizza Tracker

Features ✨

  • Real-Time Order Tracking: Track pizza delivery in real-time using Google Maps and Socket.IO.
  • Customer Dashboard: Place orders, view order history, and track delivery status.
  • Admin Dashboard: Manage orders, update status, and view order details.
  • Nodemailer Integration: Send order confirmation and status update emails to customers.
  • User Authentication: Secure login and registration for customers and admin.
  • Responsive Design: Works seamlessly across devices.

Tech Stack 🛠️

  • Frontend: HTML, CSS, Bootstrap, EJS
  • Backend: Node.js, Express, MongoDB, Socket.IO
  • Email: Nodemailer
  • Deployment:Render (All)

Screenshots 📸

Payment Dashboard

Customer Dashboard

Admin Panel

Admin Panel

Getting Started 🚀

Prerequisites

  • Node.js and npm installed
  • MongoDB database

Installation

  1. Clone the repository:

    git clone https://github.com/sujoyghoshal/RealTime-Pizza-Tracker.git
    cd RealTime-Pizza-Tracker
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env file in the root directory and add your configuration:

    PORT=3000
    COOKIE_SECRET='Your secret KEY'
    MONGO_URI=<your_mongodb_connection_string>
    EMAIL_USER=<your_email_address>
    EMAIL_PASS=<your_email_password>
    [email protected]
    GMAIL_PASS=cxspuzwlfoebftuz
  4. Run the app:

    npm start
  5. Access the application:

    • Frontend: http://localhost:3000
    • Admin Panel: http://localhost:3000/admin

Nodemailer Setup 📧

Nodemailer is used to send order confirmation and status updates to customers.

  1. Install Nodemailer:

    npm install nodemailer
  2. Configure Nodemailer in mailer.js:

    const nodemailer = require('nodemailer');
    
    const transporter = nodemailer.createTransport({
      service: 'gmail',
      auth: {
        user: process.env.EMAIL_USER,
        pass: process.env.EMAIL_PASS
      }
    });
    
    module.exports = transporter;
  3. Send email notifications:

      const transporter = nodemailer.createTransport({
                service: "gmail",
                secure: true,
                port: 465,
                auth: {
                    user: process.env.GMAIL_USER,
                    pass: process.env.GMAIL_PASS
                }
            });
    
     const mailOptions = {
                from: process.env.GMAIL_USER,
                to: req.user.email,
                subject: "Order Confirmation",
                text: `Hello ${req.user.name}, your order has been confirmed! Order ID: ${order._id}` 
            };

Contributing 🤝

Contributions, issues, and feature requests are welcome! Feel free to check issues page.

License 📄

This project is licensed under the MIT License.

Contact 📬

About

I am developing a real-time pizza application using Node.js, MongoDB, EJS, and Bootstrap. The app features live order tracking and notifications, dynamic HTML templates, and responsive design. You are deploying the application on AWS, utilizing services such as EC2 for hosting, S3

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages