Author: Marjory D. Marquez
Certain files and directories have been omitted from this public repository for copyright and proprietary reasons.
This project, TruckOne, is part of my professional portfolio and is intended to demonstrate my experience in the latest web technologies and application development methodology.
The full, proprietary version may include additional data, configuration files, and specific asset files (such as images, logos, or sensitive data) that are not included here.
TruckOne has been upgraded from a basic MVP (Minimum Viable Product) to a comprehensive Fleet & Warehouse Management System (FWMS). Built on Python/Flask with a modern Bootstrap 5 frontend, the system provides real-time operational visibility, proactive maintenance scheduling, and inventory control for vehicle spare parts. The core business goal is to significantly reduce unplanned downtime and optimize vehicle utilization through a modern, responsive web application.
| Feature | Description | Business Impact |
|---|---|---|
| Utilization KPI | Dashboard shows percentage of fleet currently 'In Transit' ( |
Reduces underutilization and bottlenecks. |
| Maintenance Module | Dedicated pages for scheduling service, logging repair costs, and tracking service history. | Reduces unexpected breakdowns. |
| Inventory Tracking | Tracks spare parts stock (tires, oil, filters) with alerts for low stock levels. | Ensures parts availability and minimizes repair delays. |
| Activity Log | Chronological record of status changes for auditing and accountability. | Improves data integrity and compliance. |
| Professional UX | Bootstrap 5 for a responsive, modern interface with semantic colors (Green: Ready, Red: Critical). | Increases user adoption and efficiency. |
| 1. Maintenance Page | Lists trucks due for service, allows scheduling, and logs detailed service records (cost, description). | Implemented |
| Component | MVP Technology | Rationale |
|---|---|---|
| Backend/Core Logic | Python 3 / Flask | Lightweight, scalable web framework. |
| Database | SQLite (via Flask-SQLAlchemy) | File-based persistence, ready for migration to PostgreSQL/MySQL. |
| Testing | Pytest | Robust unit testing for routes and database logic. |
| Production Server | Waitress | Production-grade WSGI server for stability. |
| Frontend Styling | Basic HTML/CSS | Bootstrap 5 |
| Server | Flask Dev Server | Waitress |
These screenshots illustrate the professional design and key features of the TruckOne system.
Dashboard Overview
The dashboard provides immediate KPIs and status summaries.
A view of the dedicated pages for managing service schedules and listing fleet assets.
Pages showing stock levels with low-stock alerts, and the chronological record of all operational changes.
Inventory, spare parts
A view of the dedicated pages for managing service schedules and listing fleet assets.
Pages showing stock levels with low-stock alerts, and the chronological record of all operational changes.
TruckOne/
├── app.py # Main Flask application, routes, and database models
├── init_db.py # Script to create DB and load sample data
├── requirements.txt # Python dependencies list
├── .env # Environment variables (IGNORED BY GIT)
├── .gitignore # Defines files to exclude (venv, database.db, .env)
├── init.py # Makes TruckOne a Python package (fixes import errors)
├── static/
│ └── style.css # Custom CSS styles (overriding Bootstrap)
├── templates/
│ ├── base.html # Main layout, Bootstrap links, and navigation
│ ├── index.html # Dashboard View
│ ├── fleet_management.html # Fleet List and Add Truck Form
│ └── truck_details.html # Single Truck Detail and Status Update
└── tests/
└── test_app.py # Pytest unit tests
| Challenge Area | Pre-TruckOne State | TruckOne Solution | Business Impact |
|---|---|---|---|
| Maintenance Scheduling | Reactive, scattered service history. | Proactive Alerts: Dedicated Maintenance page tracks service due dates and logs service history. | Reduces unexpected breakdowns and increases fleet reliability. |
| Utilization & Downtime | Difficulty quantifying operational capacity. | Utilization KPI: Dashboard metric showing the percentage of the fleet currently 'In Transit'. | Optimizes dispatching and identifies underutilized assets immediately. |
| Aesthetic & UX | Basic, unstyled Flask interface. | Professional Frontend: Implemented Bootstrap 5 for a responsive, modern, and intuitive user experience. | Improves user adoption and reduces staff training overhead. |
| Security & Auditing | No record of who changed statuses or when. | Activity Log: Dedicated page tracking all critical status changes (User, Truck, Old Status, New Status, Timestamp). | Ensures accountability and aids in compliance auditing. |
The following features are planned for the next development phase:
- User Authentication & Roles: Implement secure login with permissions (Manager, Dispatcher, Read-Only).
- Mapping Integration: Integrate with a mapping API to visualize the current location of trucks marked 'In Transit'.
- Reporting Module: Allow managers to generate and download reports (CSV/PDF) on utilization rates and maintenance spending.
Follow these steps to get the application running on your local machine.
- Python 3.x installed (and added to your PATH).
- Git installed.
- Visual Studio Code (or preferred IDE).
# Clone the project from GitHub
git clone [YOUR_GITHUB_REPO_URL]
cd TruckOneIt is critical to use a virtual environment to isolate project dependencies. PowerShell
python -m venv venv
.\venv\Scripts\Activate.ps1
(You should see (venv) at the start of your terminal prompt.)
Install all required packages from requirements.txt.
PowerShell
pip install -r requirements.txt
The application will automatically create the database.db file and the necessary tables on the first run. PowerShell
python app.py
Open your web browser and navigate to the following address:
http://127.0.0.1:5000/
Press Ctrl+C in the terminal to stop the application.
This project uses a .gitignore file to exclude sensitive or locally generated files from the repository:
venv/: The entire Python virtual environment folder.
database.db: The SQLite database file containing all fleet data.
This ensures a clean, portable code repository that doesn't expose local data or dependencies.
The application includes unit tests using Pytest to ensure core database logic and routes are functioning correctly.
-
Ensure your virtual environment is active.
-
Run the test suite from the root directory:
pytest





