38703-vm/README.md
Flatlogic Bot 1fc488dc7b sadiq
2026-02-23 09:30:32 +00:00

4.2 KiB

AfgCars - Modern Automotive Marketplace

AfgCars is a robust, visually stunning automotive marketplace platform designed for the Afghan car market. It features a modern "glassmorphism" design, a powerful admin panel, and seamless car listing management for both individual sellers and administrators.

🚀 Quick Start (How to Run)

1. Database Setup

The application requires a MySQL/MariaDB database.

Option A: Import SQL File (Recommended)

  1. Create a database named app_38703 (or the name specified in db/config.php).
  2. Import the database.sql file located in the db/ directory:
    mysql -u your_username -p app_38703 < db/database.sql
    

Option B: Run Setup Script Alternatively, you can run the PHP setup script which creates the tables automatically:

php db/setup.php

2. Configuration

Ensure your database credentials in db/config.php are correct:

define('DB_HOST', '127.0.0.1');
define('DB_NAME', 'app_38703');
define('DB_USER', 'your_user');
define('DB_PASS', 'your_password');

3. Launch

Open your web browser and navigate to the project root (e.g., http://localhost/).


🚀 Key Features

  • Modern UI/UX: Clean, youthful, and inviting design with glassmorphism effects.
  • Admin Dashboard: Full control over users, car listings, and customer messages.
  • User Dashboard: Personal area for users to manage their own car listings.
  • Car Marketplace: Advanced search and filtering for cars across various cities in Afghanistan.
  • Responsive Design: Fully functional on mobile, tablet, and desktop devices.
  • Secure Authentication: Robust registration and login system with role-based access control.

🛠️ Technology Stack

  • Backend: PHP 8.x
  • Database: MariaDB/MySQL
  • Frontend: HTML5, CSS3 (Custom Glassmorphism Styles), JavaScript (Vanilla)
  • Email: Integrated PHPMailer service

👤 Default Admin Account

Use these credentials to access the administrative panel:

  • Email: admin@gmail.com
  • Password: 12345678
  • Role: admin

📊 Entity Relationship Diagram (ERD)

erDiagram
    USERS ||--o{ CARS : "posts"
    USERS ||--o{ REVIEWS : "writes"
    USERS ||--o{ PURCHASES : "makes"
    CARS ||--o{ CAR_IMAGES : "has"
    CARS ||--o{ REVIEWS : "receives"
    CARS ||--o{ PURCHASES : "is_part_of"

    USERS {
        int id PK
        string name
        string email UK
        string password
        enum role "guest, user, admin"
        enum status "active, inactive"
        timestamp created_at
    }

    CARS {
        int id PK
        int user_id FK
        string brand
        string model
        int year
        decimal price
        string city
        text description
        enum status "pending, approved, rejected, sold"
        boolean is_hot_deal
        timestamp created_at
    }

    CAR_IMAGES {
        int id PK
        int car_id FK
        string image_path
        boolean is_main
    }

    REVIEWS {
        int id PK
        int car_id FK
        int user_id FK
        int rating
        text comment
        enum status "pending, approved"
        timestamp created_at
    }

    PURCHASES {
        int id PK
        int car_id FK
        int user_id FK
        string buyer_name
        string buyer_email
        string buyer_phone
        enum status "pending, completed, cancelled"
        timestamp created_at
    }

    CONTACT_MESSAGES {
        int id PK
        string name
        string email
        string subject
        text message
        enum status "unread, read, answered"
        timestamp created_at
    }

📁 Project Structure

  • index.php: Landing page and marketplace hero.
  • cars.php: Searchable list of all vehicles.
  • car_detail.php: Detailed view of a single car with photo gallery.
  • admin_dashboard.php: Entry point for administrative management.
  • dashboard.php: User-specific panel for listing management.
  • db/: Database configuration, setup scripts, and database.sql export.
  • assets/: CSS, JS, and image assets.
  • includes/: Reusable header and footer components.
  • mail/: Built-in email service components.

📝 License

This project is built for educational and demonstration purposes.