Streamlined booking and management system for educational institutions and commuter routes.
BusMate addresses the operational pain points of campus transportation while meeting strict functional requirements.
Each tool was selected to balance performance, reliability, and developer velocity.
Server Components reduce client load for faster seat layouts.
App Router enables clear routing and API colocation.
Utility-first styling speeds up UI iteration.
Consistent design tokens across pages.
Credential-based auth with secure sessions.
Works seamlessly with App Router APIs.
Simple REST endpoints for booking and admin tools.
Co-located server logic improves maintainability.
Type-safe queries from schema to frontend.
Minimal overhead for high-concurrency booking.
Reliable relational model for seats and routes.
JSONB for fast seat map reads.
Catches errors early and enforces consistency.
Cleaner PRs and easier onboarding.
Fast installs and reproducible environments.
Simplifies local and production setup.
How BusMate turns complex booking into a predictable, real-time workflow.
Everything you need to manage campus transportation efficiently and securely.
Secure registration with email validation, OTP verification, and role-based access control for students and administrators.
Browse available buses by boarding point, filter by departure times, and select your preferred journey with ease.
Interactive visual bus layout with real-time seat availability, gender-based seat allocation, and instant booking confirmation.
NextAuth integration for secure authentication, encrypted sessions, and protected API endpoints for all transactions.
Live seat map updates, instant booking confirmation, and real-time availability status across all buses.
Comprehensive admin panel to manage boarding points, bus models, routes, and view detailed user booking analytics.
RESTful API endpoints for authentication, booking, and administration.
Register a new user with email, roll number, and password.
NextAuth authentication handler (Credentials provider).
Get current user dashboard with bookings (Auth required).
Book a seat on a bus (Auth required).
Get bus details including model and current seat status.
List all available boarding points.
Get buses available for a specific boarding point.
Create a new boarding point.
Create a new bus with route configuration.
Create a new bus seat model (layout data).
Get BusMate running locally or deploy it to production.
Create a .env.local file:
Open http://localhost:3000 in your browser.
BusMate includes a compose.yaml file for easy containerized deployment. This will start both the Next.js app and PostgreSQL database.
Ensure your .env file references the Docker network correctly:
Recommended for Next.js. Connect GitHub repo, set environment variables, and deploy with one click.
Full-stack deployment with managed PostgreSQL support. Simple configuration.
AUTH_SECRETNODE_ENV=production