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
- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5aeb5f4135342f83f735ee709d2689ff09a6b0817edc3ed586c4a41295d2a997
|
|
| MD5 |
34187ec50005844eeac2f8c9fcbe30ea
|
|
| BLAKE2b-256 |
8aa3579c8b72f9f86ea74d9ec095126e1fcff52fec0dd002905ab054ef12f5b2
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7efdc968bb00b3dc9ede3c0233521c352de56d1591fe693bfddb0560f1e6e3f1
|
|
| MD5 |
5b90317d7d3a515a8e94cf4f9f28db11
|
|
| BLAKE2b-256 |
421141a0c0d351653f4433eed3e4a2a38fc1310434e2b1ec9cae630f34fbb104
|