Skip to content

Latest commit

Β 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš— Mangena Panel Beater - Management Information System

A full-stack workshop management system designed for panel beating businesses to manage jobs, invoices, customers, vehicles, and staff roles through a structured digital workflow.

Built as an Honours-level Advanced Database Systems project using modern web technologies.


πŸ“Έ Application Screenshots

πŸ” Login

Login

πŸ§‘β€πŸ’Ό Admin Dashboard

Admin Dashboard

🧾 Invoice Creation (admin)

Invoice

πŸ—‘οΈ Admin Operations

Admin Delete

🏒 Reception Dashboard

Reception Dashboard

πŸ”§ Reception Operations

Reception Operations

πŸ› οΈ Technician Dashboard

Technician Dashboard


πŸ“Œ System Overview

This system digitises workshop operations:

  • Customer management
  • Vehicle registration per customer
  • Job card lifecycle tracking
  • Invoice generation and payment tracking
  • Role-based access control (Admin / Reception / Technician)

πŸ‘₯ Academic Context

Group 14 β€” University of Limpopo
Module: Advanced Database Systems (Honours)
Year: 2026

Team Members:

  • TP Sekwadi
  • Mugeri R
  • Ravhutulu M

πŸ—οΈ Tech Stack

  • Next.js 16 (Full-stack framework)
  • PostgreSQL (Relational database)
  • Prisma ORM
  • Tailwind CSS
  • Framer Motion

πŸ” Roles & Permissions

Role Description
ADMIN Full system control (users, jobs, invoices)
RECEPTION Customers, vehicles, jobs, invoices
TECHNICIAN Assigned jobs only (status updates)

βš™οΈ Core Features

🧾 Job Management

  • Create and assign jobs
  • Track progress (New β†’ In Progress β†’ Completed β†’ Invoiced β†’ Closed)

πŸ’° Invoice System

  • Create invoices from jobs
  • Itemised billing (parts, labour, VAT)
  • Send, edit, void, mark as paid

πŸ‘€ Customer & Vehicle Management

  • Customer profiles
  • Vehicle tracking with full history

πŸ‘¨β€πŸ”§ User Management

  • Admin-controlled staff accounts
  • Role-based access system

πŸ“Š System Design

This project follows structured engineering principles:

  • Software Development Life Cycle (SDLC)
  • Database Development Life Cycle (DBLC)
  • ERD, Use Case, and Flow Diagrams (see /docs)

πŸ“‘ API DOCUMENTATION

All API routes are located under /app/api


πŸ” Authentication

GET/POST /api/auth/[...nextauth]

Handles authentication using NextAuth.


πŸ‘€ Customers

GET /api/customers

Fetch all customers

POST /api/customers

Create new customer

GET /api/customers/[id]

Get single customer

PATCH /api/customers/[id]

Update customer

DELETE /api/customers/[id]

Delete customer


πŸš— Vehicles

GET /api/vehicles

Fetch all vehicles

POST /api/vehicles

Create vehicle

GET /api/vehicles/[id]

Get vehicle details

PATCH /api/vehicles/[id]

Update vehicle

DELETE /api/vehicles/[id]

Delete vehicle


🧰 Jobs

GET /api/jobs

Fetch all jobs

POST /api/jobs

Create job

GET /api/jobs/[id]

Get job details

PATCH /api/jobs/[id]

Update job

DELETE /api/jobs/[id]

Delete job


🧾 Invoices

GET /api/invoices

Fetch all invoices

POST /api/invoices

Create invoice from job

GET /api/invoices/[id]

Get invoice details

PATCH /api/invoices/[id]

Update invoice (edit / mark paid / void)

POST /api/invoices/[id]/send

Send invoice to customer (email simulation or SMTP)


πŸ‘¨β€πŸ’Ό Users

GET /api/users

Fetch all users

POST /api/users

Create user (Admin only)

GET /api/users/[id]

Get user details

PATCH /api/users/[id]

Update user

DELETE /api/users/[id]

Delete user


πŸš€ Setup Instructions

npm install

3. Configure environment

Edit .env.local and set:

  • DATABASE_URL β€” your PostgreSQL connection string
  • NEXTAUTH_SECRET β€” any random string (at least 32 characters)
  • NEXTAUTH_URL β€” http://localhost:3000 for development
  • SEED_ADMIN_PASSWORD=add_your_own_password
  • SEED_RECEPTION_PASSWORD=add_your_own_password
  • SEED_TECH_PASSWORD=add_your_own_password

4. Push database schema

npx prisma db push

5. Seed demo data

node scripts/seed.js

6. Start the app

npm run dev

Visit http://localhost:3000


πŸ”‘ Demo Accounts

Role Email Password
Admin admin@mangena.co.za add_your_own_password
Reception reception@mangena.co.za add_your_own_password
Technician tech@mangena.co.za add_your_own_password

πŸ“ˆ Workflow Summary

  1. Job created
  2. Assigned to technician
  3. Job completed
  4. Invoice generated
  5. Sent to customer
  6. Payment marked as paid
  7. Job closed

To integrate real email sending, add your SMTP/API credentials to .env.local and replace the simulation block in app/api/invoices/[id]/send/route.js


πŸ“Œ Status

🟒 Production-ready academic system (Honours submission completed)

About

A full-stack panel beating business management system built with Next.js and PostgreSQL. Developed following SDLC and DBLC principles.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages