AutoTrack: Four-Wheeler Management (FWM) System Project Overview AutoTrack is a cloud-native workshop management platform built to streamline garage operations. The system automates the lifecycle of vehicle servicing—from document ingestion using OCR to real-time mechanic assignment notifications. This project serves as a practical implementation of scalable cloud architecture using Django and AWS.
Core Library: AutoTrackCloudManager At the heart of the project is the AutoTrackCloudManager library. Developed to fulfill LO3 and LO4 requirements for the NCI Cloud Programming module, this custom library encapsulates all AWS Service logic, ensuring the main application remains decoupled from the infrastructure layer.
Key Architectural Features: Context Management: Implements enter and exit methods, allowing the library to be used within Python with blocks for safe resource handling.
Lazy Loading Properties: AWS Clients (Textract, DynamoDB, SNS) are only initialized upon first access, reducing overhead and improving application response times.
Intelligent Tracking: Leverages Amazon Textract Queries to isolate Vehicle Identification Numbers (VIN) from unstructured registration scans.
Atomic State Updates: Standardizes how vehicle records are updated in Amazon DynamoDB, preventing data race conditions in a multi-mechanic environment.
Event-Driven Alerts: Wraps Amazon SNS functionality to provide a clean interface for broadcasting workshop updates.
Technical Stack Infrastructure: AWS Elastic Beanstalk (PaaS), AWS Cloud9 (IDE).
Database: Amazon DynamoDB (NoSQL).
Storage: Amazon S3 (Binary document storage).
AI/ML: Amazon Textract (Document Intelligence).
Messaging: Amazon SNS (Simple Notification Service).
Backend: Python 3.9 / Django 4.2.
Installation & Setup
- Repository Setup Bash git clone git@github.com:aman7csk-cloud/Auto_Track.git cd Auto_Track pip install -r requirements.txt
- Practical Library Usage The library is designed for seamless integration within Django views.py:
Python from fwm_core_utils.cloud_manager import AutoTrackCloudManager
Example: Processing a new vehicle scan
with AutoTrackCloudManager() as fwm: # Extract metadata using Textract metadata = fwm.extract_vehicle_metadata("autotrack-s3-bucket", "reg_card.jpg")
if metadata:
# Update status in DynamoDB
fwm.update_vehicle_status("VehiclesTable", metadata['vin'], "In-Progress")
# Notify staff via SNS
fwm.notify_mechanic_assignment("arn:aws:sns:...", metadata['vin'], "Aman")
Deployment (CI/CD) The project features a fully automated deployment pipeline using GitHub Actions (.github/workflows/main.yml).
Push: Code is pushed to the main branch.
Build: GitHub Actions sets up the Python environment and installs the AWS EB CLI.
Deploy: The application is bundled and deployed to AWS Elastic Beanstalk, with environment properties injected at runtime.
License This project is developed for academic purposes at the National College of Ireland (NCI).
Author Aman Cloud Computing Student
Release files for AutoTrack 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| autotrack-0.1.0.tar.gz | 3.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autotrack-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.0 kB
Release files / autotrack-0.1.0.tar.gz
| Download URL | autotrack-0.1.0.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5aeb5f4135342f83f735ee709d2689ff09a6b0817edc3ed586c4a41295d2a997
|
|
BLAKE2b-256 checksum How to use checksums |
8aa3579c8b72f9f86ea74d9ec095126e1fcff52fec0dd002905ab054ef12f5b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / autotrack-0.1.0-py3-none-any.whl
| Download URL | autotrack-0.1.0-py3-none-any.whl |
|---|---|
| Size | 4.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7efdc968bb00b3dc9ede3c0233521c352de56d1591fe693bfddb0560f1e6e3f1
|
|
BLAKE2b-256 checksum How to use checksums |
421141a0c0d351653f4433eed3e4a2a38fc1310434e2b1ec9cae630f34fbb104
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|