AVP is a full-stack web platform designed to digitalize and simplify vehicle maintenance workflows. The application works as a marketplace that connects vehicle owners with service providers such as repair shops, inspection centers, registration services, and auto-parts stores through a single role-based system.
This project was created as a faculty collaboration and developed with strong support from generative AI tools during implementation, debugging, documentation, and feature iteration.
AVP combines a public marketing website, authentication flows, user and partner dashboards, and administrative tools into one unified web application. The platform focuses on practical appointment scheduling, service discovery, review management, loyalty features, and partner onboarding.
- User registration and login with secure password hashing
- Role-based dashboards for users, partners, and administrators
- Vehicle profile management for private and business users
- Appointment search, booking, and availability handling
- Partner service management and calendar-based workflow control
- Review and rating system for completed appointments
- Loyalty program with points and tier progression
- Public homepage with statistics and service presentation
- Admin tools for user moderation, request handling, and platform analytics
- Backend: PHP 8.x
- Frontend: HTML5, CSS3, Vanilla JavaScript
- Database: MySQL / MariaDB
- Data access: PDO with prepared statements
- Architecture: API-oriented role-based web application using asynchronous JSON requests
- Authentication: Session-based authentication with server-side access control
The project follows a lightweight modular PHP structure:
index.phpserves as the public landing pagedashboard.phploads the correct dashboard based on the authenticated user's roleincludes/contains shared application modules such as database access, configuration, authentication, and dashboard layoutsapi/contains role-specific endpoints grouped by domain and responsibilityassets/stores static frontend resources such as CSS, JavaScript, and imagessql/contains schema definitions and database update scriptsdocs/stores project notes, prompts, and supporting development documentation
avp/
|- api/
| |- admin/
| |- auth/
| |- booking/
| |- partner/
| \- user/
|- assets/
| |- css/
| |- img/
| \- js/
|- docs/
|- includes/
|- sql/
|- dashboard.php
|- index.php
\- logout.php
- Create an account and manage profile data
- Add one or more vehicles
- Search for partners and schedule appointments
- Track bookings and loyalty progress
- Leave reviews after completed services
- Apply for partner access
- Manage offered services, pricing, and availability
- Review bookings and update appointment statuses
- Monitor ratings and customer feedback
- Manage users and moderation actions
- Review partner requests
- Access platform statistics and operational overview
- Oversee review-related and booking-related platform activity
- Clone the repository into your local web root.
- Import the SQL files from the
sql/directory into MySQL or MariaDB. - Create a
.envfile with the required database and app configuration. - Serve the project through a local PHP/Apache stack such as XAMPP.
- Open the application in the browser using the configured
APP_URL.
Example environment variables:
APP_URL=http://localhost/avp
DB_HOST=localhost
DB_PORT=3307
DB_NAME=avp_db
DB_USER=root
DB_PASS=- The project uses prepared statements through PDO for safer database interaction.
- API endpoints are organized by role and expected to return JSON responses.
- The repository also contains prompt history and project guidance used during AI-assisted development.