Metadata-Version: 2.4
Name: AutoTrack
Version: 0.1.0
Summary: A simple demo Python library
Author-email: aman <aman7csk@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/aman7csk-cloud/Auto_Track.git
Requires-Python: >=3.7
Description-Content-Type: text/markdown

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
