Skip to content

Trysha-rbrn/avp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AVP - Automatized Vehicle Planner

Srpska verzija

PHP MySQL JavaScript REST API RBAC AI Assisted

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.

Overview

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.

Core Features

  • 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

Tech Stack

  • 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

Architecture

The project follows a lightweight modular PHP structure:

  • index.php serves as the public landing page
  • dashboard.php loads the correct dashboard based on the authenticated user's role
  • includes/ contains shared application modules such as database access, configuration, authentication, and dashboard layouts
  • api/ contains role-specific endpoints grouped by domain and responsibility
  • assets/ stores static frontend resources such as CSS, JavaScript, and images
  • sql/ contains schema definitions and database update scripts
  • docs/ stores project notes, prompts, and supporting development documentation

Project Structure

avp/
|- api/
|  |- admin/
|  |- auth/
|  |- booking/
|  |- partner/
|  \- user/
|- assets/
|  |- css/
|  |- img/
|  \- js/
|- docs/
|- includes/
|- sql/
|- dashboard.php
|- index.php
\- logout.php

User Roles

Vehicle Owners

  • 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

Partners

  • Apply for partner access
  • Manage offered services, pricing, and availability
  • Review bookings and update appointment statuses
  • Monitor ratings and customer feedback

Administrators

  • Manage users and moderation actions
  • Review partner requests
  • Access platform statistics and operational overview
  • Oversee review-related and booking-related platform activity

Getting Started

  1. Clone the repository into your local web root.
  2. Import the SQL files from the sql/ directory into MySQL or MariaDB.
  3. Create a .env file with the required database and app configuration.
  4. Serve the project through a local PHP/Apache stack such as XAMPP.
  5. Open the application in the browser using the configured APP_URL.

Environment

Example environment variables:

APP_URL=http://localhost/avp
DB_HOST=localhost
DB_PORT=3307
DB_NAME=avp_db
DB_USER=root
DB_PASS=

Notes

  • 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.

About

AVP is a full-stack PHP/MySQL vehicle service marketplace with role-based dashboards, appointment booking, partner management, reviews, loyalty features, and AI-assisted development.

Topics

Resources

Stars

Watchers

Forks

Contributors