Skip to content

ahmdjunaid/Garage24

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

82 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš— Garage24

Garage24 is a multi-role vehicle service management platform that enables users to book vehicle services, track every stage of the service lifecycle, and make secure online payments.

The platform connects customers, garage owners, mechanics, and admins into a single system with real-time tracking, live communication, and secure delivery verification.


🌐 Platform Overview

Garage24 solves common service management problems:

  • Difficulty tracking vehicle service progress
  • Lack of communication between customer and service provider
  • Manual appointment handling
  • Unclear pricing and service updates

The platform provides:

  • πŸ“… Structured appointment booking
  • πŸ”„ Real-time service tracking
  • πŸ’¬ Live communication
  • πŸ” Secure delivery using OTP
  • πŸ’³ Seamless payment integration

πŸ‘₯ Roles in the System

  • User (Customer)
  • Garage Owner (Service Provider)
  • Mechanic
  • Admin

πŸš€ Core Features

πŸ‘€ User Features

  • Google Authentication & OTP Login
  • Book vehicle service appointments
  • Real-time appointment tracking
  • Live chat with service provider
  • Live notifications
  • Secure delivery confirmation via OTP
  • Online payment using Stripe
  • Subscription plans
  • Reviews & ratings

🏒 Garage Owner Features

  • Dashboard overview
  • Revenue reports
  • Manage appointments
  • Assign tasks to mechanics
  • Track service progress
  • Communicate with users in real-time

πŸ”§ Mechanic Features

  • View assigned services
  • Update service progress
  • Communicate with garage owner
  • Mark job stages

πŸ› οΈ Admin Features

  • Manage subscription plans
  • Monitor revenue reports
  • Platform-level control

βš™οΈ Core Systems

Garage24 includes several powerful backend systems:

  • πŸ”” Real-time notifications
  • πŸ“§ Email system (Nodemailer)
  • πŸ–ΌοΈ Image uploads (Cloudinary / S3)
  • ⭐ Review & rating system
  • πŸ’¬ Live chat system (Socket.IO)
  • πŸ” OTP-based delivery verification (Redis)

πŸ”„ Appointment Flow

sequenceDiagram

User->>Backend: Book Appointment
Backend->>Garage Owner: New Booking Notification

Garage Owner->>Mechanic: Assign Task

Mechanic->>Backend: Update Status
Backend->>User: Real-time Updates

Mechanic->>Backend: Mark Completed

User->>Backend: Verify Delivery (OTP)

User->>Stripe: Make Payment
Stripe->>Backend: Webhook Confirmation
Loading

πŸ’¬ Real-time System

Garage24 uses Socket.IO for:

  • Live chat (User ↔ Garage ↔ Mechanic)
  • Instant notifications
  • Appointment status updates

πŸ’³ Payment Integration

  • Integrated with Stripe
  • Secure payment flow
  • Webhook-based payment verification

πŸ” Authentication System

  • JWT-based authentication
  • Access & Refresh tokens
  • Google OAuth login
  • OTP verification
  • Role-based access control

🧠 Special / Unique Features

  • πŸ“ Real-time appointment tracking
  • πŸ’¬ Live group chat system
  • πŸ”” Live notifications
  • πŸ” OTP-based service completion verification
  • πŸ“Š Revenue analytics for service providers
  • πŸ“¦ Subscription-based access model

πŸ§‘β€πŸ’» Tech Stack

Frontend

  • React
  • TypeScript
  • Tailwind CSS

Backend

  • Node.js
  • Express.js
  • Repository Pattern Architecture

Database

  • MongoDB

Realtime & Caching

  • Socket.IO
  • Redis

Other Integrations

  • Stripe (Payments)
  • JWT (Authentication)
  • Nodemailer (Emails)
  • Cloudinary / AWS S3 (File uploads)

πŸ—οΈ Project Architecture

Garage24 follows a Repository Pattern for scalable backend development.

Backend Structure

src/
β”œβ”€β”€ controllers/
β”œβ”€β”€ repositories/
β”œβ”€β”€ services/
β”œβ”€β”€ models/
β”œβ”€β”€ routes/
β”œβ”€β”€ middleware/
└── utils/

Frontend Structure

src/
β”œβ”€β”€ components/
β”œβ”€β”€ pages/
β”œβ”€β”€ hooks/
β”œβ”€β”€ services/
β”œβ”€β”€ store/
└── utils/

βš™οΈ Installation

Clone the repository

git clone https://github.com/your-username/garage24.git
cd garage24

Install dependencies

Backend

cd backend
npm install

Frontend

cd frontend
npm install

▢️ Running the Project

Start Backend

npm run dev

Start Frontend

npm run dev

🐳 Deployment

  • Backend: AWS EC2 (Dockerized)
  • Frontend: AWS Amplify

πŸ” Environment Variables

Backend

PORT=3000
JWT_SECRET=
REFRESH_JWT_SECRET=
RESET_PASSWORD_SECRET=
ACCESS_TOKEN_MAX_AGE=
REFRESH_TOKEN_MAX_AGE=

NODEMAILER_EMAIL=
NODEMAILER_PASSWORD=

BCRYPT_SALT_ROUNDS=

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=

AWS_S3_ACCESSKEY=
AWS_S3_SECRET=
AWS_REGION=
AWS_S3_BUCKET=

REDIS_CLIENT_CONNECTION=

STRIPE_SECRET_KEY=
STRIPE_PUBLISHABLE_KEY=
WEBHOOK_SECRET_KEY=

NODE_ENV=

LOCAL_CLIENT_URL=
PROD_CLIENT_URL=
PROD_CLIENT_BASE_URL=

MONGODB_URI=
GROQ_API_KEY=

Frontend

VITE_P_API_BASE_URL=
VITE_API_BASE_URL=http://localhost:3000/api

VITE_P_BACKEND_URL=
VITE_BACKEND_URL=http://localhost:3000

VITE_GOOGLE_CLIENT_ID=
VITE_GOOGLE_CALLBACK_URL=

VITE_FETCH_LOCATION_BASEURL=https://nominatim.openstreetmap.org/reverse

πŸ”’ Security

Garage24 implements:

  • JWT authentication
  • OTP verification
  • Role-based authorization
  • Secure payment handling (Stripe webhooks)
  • Encrypted credentials & environment variables

πŸš€ Future Improvements

  • πŸ“± Mobile application
  • πŸ€– AI-based service recommendations
  • πŸ“ Location-based garage suggestions
  • πŸ“Š Advanced analytics dashboard

πŸ‘¨β€πŸ’» Author

Ahammed Natharassah Junaid MERN Stack Developer

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages