Skip to main content

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

  1. Repository Setup Bash git clone git@github.com:aman7csk-cloud/Auto_Track.git cd Auto_Track pip install -r requirements.txt
  2. 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)

Source distribution for AutoTrack 0.1.0
File Size Uploaded
autotrack-0.1.0.tar.gz 3.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for AutoTrack 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page