{"id":31581329,"url":"https://github.com/marjory00/cardealerapp","last_synced_at":"2026-05-06T06:32:27.444Z","repository":{"id":317851693,"uuid":"1069086926","full_name":"Marjory00/CarDealerApp","owner":"Marjory00","description":"Car Dealer Pro Management System: A car dealership's inventory, created with python","archived":false,"fork":false,"pushed_at":"2025-10-03T12:46:16.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-03T13:32:48.184Z","etag":null,"topics":["css","css3","flask","html","jinja2","json","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Marjory00.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-03T11:36:34.000Z","updated_at":"2025-10-03T12:46:20.000Z","dependencies_parsed_at":"2025-10-03T13:32:51.706Z","dependency_job_id":null,"html_url":"https://github.com/Marjory00/CarDealerApp","commit_stats":null,"previous_names":["marjory00/cardealerapp"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Marjory00/CarDealerApp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marjory00%2FCarDealerApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marjory00%2FCarDealerApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marjory00%2FCarDealerApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marjory00%2FCarDealerApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Marjory00","download_url":"https://codeload.github.com/Marjory00/CarDealerApp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marjory00%2FCarDealerApp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278526240,"owners_count":26001326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","css3","flask","html","jinja2","json","python"],"created_at":"2025-10-05T21:56:22.859Z","updated_at":"2026-05-06T06:32:27.434Z","avatar_url":"https://github.com/Marjory00.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿#  Car Dealer Pro Management System\r\n\r\n**Author:** Marjory D. Marquez\r\n\r\n***\r\n\r\n##  Purpose of the Project\r\n\r\n\r\nThis is a portfolio demonstration of a full-stack web application built using **Python/Flask** for the backend, managing car inventory with **Object-Oriented Programming (OOP)** principles.\r\n\r\nThe primary goal of the **Car Dealer Pro Management System** is to provide a comprehensive, user-friendly, and persistent solution for managing a car dealership's inventory.\r\n\r\nThis application transitions from a Command Line Interface (CLI) to a **web-based interface** using the **Flask** framework, offering a professional, modern user experience for key dealership functions like adding new stock, viewing current inventory, and processing vehicle sales.\r\n\r\n***\r\n\r\n##  Overview\r\n\r\nThis application utilizes a robust object-oriented Python backend to handle business logic and data persistence, while the Flask framework provides the sleek frontend web interface.\r\n\r\n* **Professional Web Interface:** Utilizes **Flask**, HTML, and **CSS** for a clean, modern, and responsive user experience.\r\n* **Inventory Management:** View all cars in a clean, professional table format.\r\n* **Persistent Data Storage:** Inventory data is saved to a local **`cars.json`** file, ensuring all records are maintained between application sessions.\r\n* **Add New Stock:** A dedicated web form for efficiently adding new vehicles with basic validation for data types and ensuring a unique Vehicle Identification Number (**VIN**).\r\n* **Sales Processing:** Functionality to remove a car from the inventory (simulating a sale).\r\n\r\n***\r\n\r\n##  Key Features \u0026 Improvements\r\n\r\nThis application handles a complete inventory lifecycle with robust features and recent improvements:\r\n\r\n* **Full CRUD Functionality:** Add, View Detail, Edit, and Sell (Remove) vehicles.\r\n* **Data Persistence:** Inventory and Sales History are saved using JSON files.\r\n* **Dynamic Search \u0026 Sorting:** Users can filter the inventory instantly and sort columns (Make, Model, Year, Price, VIN) in ascending/descending order.\r\n* **Enhanced Reporting:** Dedicated views for **Sold History** and aggregate **Sales Reports**.\r\n* **Improved UX/Styling:**\r\n    * Cohesive dark theme and high-contrast styling across the header and footer.\r\n    * The \"Add Car\" button and navigation links are professionally styled.\r\n    * **Visual Flair:** Custom logos/icons added to the main header, Sales Report title, and Sold Inventory title.\r\n    * Robust form validation with flashing error messages.\r\n\r\n***\r\n\r\n##  Case Study: Dealership Workflow\r\n\r\nThe application supports a typical dealership workflow:\r\n\r\n1.  **Acquisition:** When a new vehicle is purchased, an employee navigates to the **'Add New Car'** form, inputs the required details (Make, Model, Year, Price, VIN), and the application validates and saves the entry.\r\n2.  **Reporting:** The Sales Manager checks the **'Inventory'** page to see real-time stock levels, vehicle details, and total count, aiding sales and marketing decisions.\r\n3.  **Sale:** When a car is sold, the employee clicks the **'Sell'** button next to the car's entry. The application instantly removes the vehicle from the inventory and updates the local data file.\r\n\r\n***\r\n\r\n## 💻 Language \u0026 Technology Stack\r\n\r\n| Component | Technology | Description |\r\n| :--- | :--- | :--- |\r\n| **Backend Logic** | **Python 3.x** | Handles all object creation (`Car`), data validation, and inventory manipulation. |\r\n| **Web Framework** | **Flask** | Lightweight Python micro-framework used for application routing and template rendering. |\r\n| **Frontend** | HTML5 / Jinja2 | Used to structure the web pages and dynamically display Python data within templates. |\r\n| **Styling** | **CSS3** | Implements the custom, professional, and responsive aesthetic. |\r\n| **Data Storage** | JSON | Simple, local file storage for persistent inventory data. |\r\n| ***Principles:** | OOP | Object-Oriented Programming (OOP). |\r\n\r\n***\r\n\r\n## 📂 Project Structure\r\n\r\nThe project follows a standard modular structure for a Python application integrating the Flask framework:\r\n\r\n```\r\n\r\nCarDealerApp/\r\n├── static/                 # Contains public assets (linked via Flask)\r\n│   ├── css/\r\n│   │   └── style.css       # Custom application styling\r\n│   └── images/\r\n│       ├── logo.jpg    # Main header logo\r\n│       ├── image-1.png      # Sales Report icon\r\n│       └── image-2.png   # Sold History icon\r\n├── cars.json                  # Persistent data file (IGNORED by Git)\r\n├── .gitignore                 # Specifies files to ignore (e.g., cars.json)\r\n├── app.py                     # Flask application entry point and routing logic\r\n├── car.py                     # Data Model: Defines the Car class\r\n├── dealer_manager.py          # Business Logic: Handles all inventory operations (CRUD)\r\n└── templates/\r\n├── base.html           # Main layout template (Header, Footer, Nav)\r\n├── index.html          # Main Inventory \u0026 Search page\r\n├── car_detail.html     # Single car view\r\n├── add_car.html        # Form to add a new car\r\n├── edit_car.html       # Form to edit an existing car\r\n├── sold_cars.html      # Detailed list of sold vehicles\r\n└── sales.html          # Sales Summary and Aggregate Report\r\n\r\n```\r\n\r\n***\r\n\r\n\r\n## 🛑 Important Note on Source Code\r\n\r\nThis repository does **not** contain the complete source code for the \"Car Dealer Manager\" application.\r\n\r\nThe files included here are specifically selected for **portfolio review purposes** to demonstrate my skills in:\r\n* **Application Architecture and Flask Routing**\r\n* **Business Logic (CRUD operations)**\r\n* **HTML Templating (Jinja2)**\r\n* **CSS/Frontend Styling**\r\n\r\n**Note:** Key backend files like **`app.py`** (Flask application) and **`dealer_manager.py`** (core logic/data management) are intentionally omitted from this public repository, as are other proprietary or infrastructural files. This repository represents a comprehensive *view* of the project's structure and my capabilities, not a complete, runnable clone.\r\n\r\n\r\n\r\n***\r\n\r\n## 📸 Application Overview Images Screenshots\r\n\r\nThese images demonstrate key features and the overall user interface of the Car Dealer Manager application.\r\n\r\n### 1. Main Inventory View (Search \u0026 Sort)\r\n\r\n![Main Inventory Table with Search Bar](static/images/screenshots/Inventory-View-Search.png)\r\n\r\n### 2. Add New Car Form\r\n\r\n![Form for adding a new vehicle with validation](static/images/screenshots/Add-New-Car-Form.png)\r\n\r\n### 3. Detailed Car View\r\n\r\n![Detailed view of a single car, including image and VIN]()\r\n\r\n### 4. Sales Report Summary\r\n\r\n![Sales History Report showing total revenue and sold units](static/images/screenshots/Sales-inventory.png)\r\n\r\n### 5. Edit Car Details\r\n\r\n![Form for editing the price, year, and image URL of an existing car](static/images/screenshots/Edit-car-details.png)\r\n\r\n\r\n***\r\n\r\n## ▶️ Getting Started\r\n\r\nFollow these steps to set up and run the application locally on your Windows machine:\r\n\r\n1.  **Clone the Repository:**\r\n    ```bash\r\n    git clone [https://github.com/Marjory00/CarDealerApp.git](https://github.com/Marjory00/CarDealerApp.git)\r\n    cd CarDealerApp\r\n    ```\r\n\r\n2.  **Install Dependencies:**\r\n    ```bash\r\n    pip install Flask\r\n    ```\r\n\r\n3.  **Run the Application:**\r\n    ```bash\r\n    python app.py\r\n    ```\r\n\r\n\r\n4.  **Access the App:** Open your web browser and navigate to the address shown in your terminal (typically http://127.0.0.1:5000/).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarjory00%2Fcardealerapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarjory00%2Fcardealerapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarjory00%2Fcardealerapp/lists"}