Skip to content

This is Our Y2 S2 ITP Project - Station 360 - A Online Vehicle Service Center Management Web Application

Notifications You must be signed in to change notification settings

chamodSN/ITP---Station360

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš— Station360 – Online Vehicle Service Management System

A comprehensive MERN stack web application developed as a second-year, second-semester ITP project at SLIIT. Station360 provides vehicle service management functionality with separate dashboards for Admin, Employees, and Users.

Image


πŸ‘₯ Team Members & Responsibilities

Name Responsibility
Chamod Nethmina (Leader) Service and Booking Management
Anudi Induwari Inventory and Notification Management
Lihini Nethmini Employee Management (except registration, leave, attendance, schedule)
Akila Herath User and Employee Registration, Vehicle Registration, Authentication
Kavindya Sithumini Financial and Customer Support Management

πŸ› οΈ Tech Stack

  • Frontend: React.js (Three separate UIs – Admin, Employee, User)
  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Other: Cloudinary, Multer, EmailJS, Nodemailer, Puppeteer, Chart.js, PDF generation, Cron Jobs

πŸ“ Project Structure

  • /BACKEND -> All backend logic (APIs, Models, Controllers)
  • /frontend -> User-facing UI
  • /employee -> Employee dashboard UI
  • /admin -> Admin dashboard UI

πŸ”„ Workflow Overview

1. User and Vehicle Management (Akila Herath)

  • Email verification during registration.
  • Forgot password flow with email-based reset.
  • Users can manage their own vehicles.
  • Admin can view, register, update, or delete users & vehicles.
  • PDF reports for user registration data.

2. Service & Booking Management (Chamod Nethmina)

  • Admin defines services with duration/specifications.
  • Time slots are auto-generated based on service duration.
  • Users can:
    • Select service, vehicle, preferred date, and time slot, related services.
    • Receive booking confirmation via email.
    • See vehicle service history
    • Filter service based on category
  • Admin dashboard:
    • Booking categories: Upcoming, Completed, Late.
    • Bookings are locked after a deadline.
    • Booking cancellation includes email with reason.
    • PDF reports and data visualizations via charts.

3. Inventory & Notifications (Anudi Induwari)

  • Add/update/delete inventory.
  • Auto reorder low-stock items with email to suppliers.
  • Expiry management with FIFO stock-out logic.
  • Inventory valuation reports in PDF.
  • Notification management with priority & visibility settings.

4. Financial & Customer Support (Kavindya Sithumini)

  • Track expenses, employee salaries, and income from services.
  • Email billing after service completion.
  • Admin salary configuration per employee.
  • Monthly attendance-based salary generation.
  • Contact form: user messages are emailed to admin.

5. Employee & Schedule Management (Lihini Nethmini)

  • Employee auto-assignment based on availability & leave.
  • Attendance system with check-in, leave marking.
  • Admin dashboard shows real-time employee data.
  • Leave application and approval workflow.
  • PDF export for attendance data.

πŸ“Š Dashboards

  • Admin Dashboard: Bookings, Inventory, Salaries, Incomes/Expenses with Pie/Bar/Line Charts
  • Employee Dashboard: Attendance, Work Assignments
  • User Dashboard: Vehicle info, Bookings, Notifications, Vehicle Service History

Mongodb Database Model

Image


πŸ“¦ External Libraries

Frontend

"axios": "^1.8.4",
"chart.js": "^4.4.9",
"date-fns": "^4.1.0",
"framer-motion": "^12.9.2",
"lucide-react": "^0.503.0",
"react": "^19.0.0",
"react-chartjs-2": "^5.3.0",
"react-datepicker": "^8.3.0",
"react-dom": "^19.0.0",
"react-icons": "^5.5.0",
"react-router-dom": "^7.4.0",
"react-toastify": "^11.0.5",
"zustand": "^5.0.3",
"@emailjs/browser": "^4.4.1" // only for customer support

BACKEND

"bcrypt": "^5.1.1",
"bcryptjs": "^3.0.2",
"cloudinary": "^2.6.0",
"cookie-parser": "^1.4.7",
"cors": "^2.8.5",
"dotenv": "^16.5.0",
"express": "^4.21.2",
"html-pdf": "^3.0.1",
"jsonwebtoken": "^9.0.2",
"moment": "^2.30.1",
"mongoose": "^8.14.1",
"multer": "^1.4.5-lts.1",
"node-cron": "^3.0.3",
"nodemailer": "^6.10.1",
"nodemon": "^3.1.10",
"puppeteer": "^24.8.0",
"speakeasy": "^2.0.0",
"validator": "^13.15.0"

πŸ“„ How to Run Locally


1. Clone the repository:

git clone url

2. Install backend dependencies:

cd BACKEND
npm install

3. Setup .env file in /BACKEND

MONGODB_URI=
CLOUDYNARY_NAME=
CLOUDYNARY_API_KEY=
CLOUDYNARY_SECRET_KEY=
EMAIL_USER=
EMAIL_PASS=
JWT_SECRET=
VITE_BACKEND_URL=
ADMIN_EMAIL=
ADMIN_PASSWORD=

4. Install frontend dependencies:

cd ../frontend && npm install
cd ../employee && npm install
cd ../admin && npm install

5. Run each frontend app on different ports

npm run dev

6. Run backend server:

cd ../BACKEND
npm start server

βœ… Features Summary

πŸ”’ Secure Authentication with Email Verification

πŸ“… Smart Time Slot Generation for Bookings

πŸ“¦ Dynamic Inventory with Auto Reorder

πŸ’° Income/Expense Tracking with Payroll Integration

πŸ‘₯ User/Employee/Admin Role Separation

πŸ“§ Auto Email Notifications (Booking, Billing, Contact Us)

πŸ“ˆ Visual Dashboards with Charts

πŸ“„ PDF Report Generation


πŸ“¬ Contact

Created as a part of the SLIIT ITP module.
For inquiries, please contact team leader Chamod Nethmina at chamodnethminaprofessional@gmail.com.

About

This is Our Y2 S2 ITP Project - Station 360 - A Online Vehicle Service Center Management Web Application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5