5.8 KiB
Comprehensive Project Monograph: Advanced Vehicle Marketplace System
1. Introduction
This document serves as a complete technical monograph for the Vehicle Marketplace System, a full-stack web application designed for the educational sector and general vehicle trading. This system provides a robust platform for users to list vehicles, manage sales, and for buyers to submit purchase requests through a secure, modern interface.
2. System Architecture
The application follows a modular LAMP (Linux, Apache, MySQL/MariaDB, PHP) architecture. It is designed to be scalable, secure, and user-centric.
2.1 Backend Layer
- Language: PHP 8.x (Vanilla PHP for maximum performance and compatibility).
- Database Interaction: PDO (PHP Data Objects) with prepared statements to prevent SQL injection.
- Session Management: Secure PHP sessions for user authentication and role-based access control.
2.2 Frontend Layer
- HTML5 & CSS3: Modern semantic markup and advanced styling.
- Design Paradigm: Sophisticated Dark Theme with Glassmorphism effects.
- Typography: Inter font family for high legibility and professional aesthetics.
- Responsive Design: Mobile-first approach using CSS Grid and Flexbox.
2.3 Database Layer
- Engine: MariaDB/MySQL.
- Schema Design: Normalized relational structure with foreign key constraints.
3. Technology Stack Detail
3.1 PHP (Hypertext Preprocessor)
Used for all server-side logic, including:
- User registration and authentication.
- CRUD operations for vehicle listings.
- Purchase request processing.
- Admin panel logic.
- Email notifications via
MailService.php.
3.2 MariaDB
The database stores all critical information:
- users table: Stores user credentials, contact info (phone, address), and roles.
- cars table: Stores vehicle details (brand, model, price, description, status).
- car_images table: Manages multiple images per vehicle with a primary image flag.
- purchases table: Tracks buying requests, bank transaction IDs, and status (pending/approved/rejected).
- messages table: Stores contact form submissions.
3.3 CSS (Cascading Style Sheets)
The styling is centralized in assets/css/style.css, featuring:
- Custom Variables:
--primary-color(Gold),--bg-color(Deep Slate), etc. - Glassmorphism: Using
backdrop-filter: blur()and semi-transparent backgrounds for a premium feel. - Animations: Smooth transitions (
cubic-bezier) for interactive elements.
4. Database Schema Specification
4.1 Table: users
| Column | Type | Description |
|---|---|---|
| id | INT | Primary Key, Auto-increment |
| username | VARCHAR(50) | Unique username |
| password | VARCHAR(255) | Hashed password |
| VARCHAR(100) | Unique email | |
| phone | VARCHAR(20) | User contact number |
| address | TEXT | User physical address |
| role | ENUM | 'user' or 'admin' |
| created_at | TIMESTAMP | Account creation date |
4.2 Table: cars
| Column | Type | Description |
|---|---|---|
| id | INT | Primary Key |
| user_id | INT | Foreign Key to users |
| brand | VARCHAR(50) | Vehicle brand |
| model | VARCHAR(50) | Vehicle model |
| year | INT | Manufacturing year |
| price | DECIMAL | Listing price |
| city | VARCHAR(50) | Location |
| description | TEXT | Detailed info |
| status | ENUM | 'pending', 'approved', 'rejected', 'sold' |
4.3 Table: purchases
| Column | Type | Description |
|---|---|---|
| id | INT | Primary Key |
| car_id | INT | Foreign Key to cars |
| user_id | INT | Foreign Key to users |
| bank_id | VARCHAR(100) | Transaction reference |
| personal_info | TEXT | Buyer's additional info |
| status | ENUM | 'pending', 'approved', 'rejected' |
5. Functional Walkthrough
5.1 User Experience (UX)
The user journey starts at the landing page (index.php), featuring a high-impact hero section. Users can browse vehicles in cars.php with advanced filtering.
5.2 Seller Workflow
- Login/Register: Secure entry point.
- Dashboard: Overview of listings.
- Add Car: Upload vehicle details and images.
- Management: Edit or mark listings as sold.
5.3 Buyer Workflow
- Discovery: Find a vehicle.
- Purchase Request: Submit a formal request with payment reference (Bank ID).
- Tracking: View request status in the dashboard.
- Receipt: Generate a digital receipt upon approval.
5.4 Admin Capabilities
- Dashboard: High-level stats (Total sales, users, cars).
- Approval System: Approve or reject car listings and purchase requests.
- User Management: Oversee the community.
- Communications: Manage messages from the contact form.
6. UI/UX Design Principles
6.1 Sophisticated Dark Theme
The "Darker and User-Friendly" theme uses a color palette that reduces eye strain and emphasizes high-value content.
- Background:
#0f172a(Deep Space) - Accents:
#d4af37(Luxury Gold) - Contrast: High legibility white and slate-gray text.
6.2 Modern Components
- Cards: Elevated cards with hover scaling.
- Glassmorphism: Professional blur effects for navigation and overlays.
- Buttons: Large, accessible touch targets with subtle shadows.
7. Security and Integrity
- Password Hashing:
password_hash()andpassword_verify()for industry-standard security. - SQL Protection: 100% usage of PDO prepared statements.
- Input Sanitization:
htmlspecialchars()for XSS prevention. - State Management: Secure session handling and CSRF awareness.
8. Conclusion
This system represents a state-of-the-art vehicle marketplace, combining technical excellence with a premium user experience. It is designed to be both a functional tool and a beautiful interface, adhering to the highest standards of modern web development.
Monograph created on February 23, 2026. Version 1.0.0