Logo Lanfrica

Lintshiwe/MzansiRides

Domain:

mobility

Record type:

software
Creator:
Lin
Host:
A full-stack car rental platform for South African users - vehicle booking, management, and reservation system. # MzansiRides — South African Car Rental Platform A full-stack car rental web application built for the South African market. Browse vehicles, book rides with Paystack payments, manage fleets via an admin dashboard, and engage customers through automated email communications. --- ## Tech Stack | Layer | Technology | |-------|-----------| | **Frontend** | React 18, Vite, React Router v6, AOS animations | | **Backend** | Spring Boot 3.4, Java 21, Spring Security, JPA/Hibernate | | **Database** | H2 (in-memory dev), production-ready for PostgreSQL/MySQL | | **Auth** | JWT (role-based: Admin / User), BCrypt password hashing | | **Email** | Spring Mail (Gmail SMTP), HTML email templates | | **Payments** | Paystack inline integration | | **Tooling** | Maven, ESLint, concurrently | --- ## Quick Start ### Prerequisites - **Java 21** (JDK) - **Maven** 3.9+ - **Node.js** 18+ - **Gmail account** with App Password (for emails) ### 1. Clone & Install ```bash git clone github.com cd mzansirides npm install ``` ### 2. Configure Environment Copy `.env.example` to `.env` and fill in your Gmail credentials: ```env MAIL_USERNAME=your-email@gmail.com MAIL_PASSWORD="your-16-char-app-password" MAIL_FROM=your-email@gmail.com ADMIN_JWT_SECRET=your-strong-secret-key ``` > **Note:** Without email config, the app still runs — emails fail silently. ### 3. Start ```bash npm run dev:full ``` Wait for `Tomcat started on port 4000 (http)` in the logs (~15 seconds), then open: | URL | Description | |-----|-------------| | `localhost` | Client website | | `localhost` | Admin portal | | `localhost` | Database console | ### Default Admin Accounts | Email | Password | Name | |-------|----------|------| | `n*******@gmail.com` | `Mzansi@2026` | ******** ******** N******* | | `admin@mzansirides.co.za` | `Mzansi@2026` | MzansiRides Super Admin | --- ## Project Structure ``` MzansiRides/ ├── ba …