Skip to main content

A simple demo Python library

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autotrack-0.1.0.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autotrack-0.1.0-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file autotrack-0.1.0.tar.gz.

File metadata

  • Download URL: autotrack-0.1.0.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for autotrack-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5aeb5f4135342f83f735ee709d2689ff09a6b0817edc3ed586c4a41295d2a997
MD5 34187ec50005844eeac2f8c9fcbe30ea
BLAKE2b-256 8aa3579c8b72f9f86ea74d9ec095126e1fcff52fec0dd002905ab054ef12f5b2

See more details on using hashes here.

File details

Details for the file autotrack-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: autotrack-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for autotrack-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7efdc968bb00b3dc9ede3c0233521c352de56d1591fe693bfddb0560f1e6e3f1
MD5 5b90317d7d3a515a8e94cf4f9f28db11
BLAKE2b-256 421141a0c0d351653f4433eed3e4a2a38fc1310434e2b1ec9cae630f34fbb104

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page