Skip to content

Repository files navigation

AURA Platform

AI-powered device management, ticketing, and predictive maintenance platform.

Python FastAPI React PostgreSQL License


Overview

AURA is a full-stack platform for managing devices, support tickets, and maintenance workflows — with a growing AI layer for automated ticket classification, predictive maintenance, and computer vision-based device scanning.

Built as a portfolio project demonstrating end-to-end software engineering: REST APIs, React dashboards, ML integration, MLOps, and cloud deployment.


Architecture

React Frontend (Vite + TailwindCSS)
        ↓
FastAPI Gateway  (JWT auth · routing · validation)
        ↓
┌─────────────────────────────────────────┐
│  Auth Service       Device Service      │
│  Ticket Service     AI Classifier       │
│  Predictive ML      Computer Vision     │
└─────────────────────────────────────────┘
        ↓
PostgreSQL Database
        ↓
Cloud Storage / Logs

Screenshot 2026-05-13 174924

Project Phases

Phase Status Description
Phase 1 Completed Auth, dashboard, inventory, ticketing
Phase 2 Completed AI ticket classifier (NLP)
Phase 3 Completed Predictive maintenance ML model
Phase 4 Completed Computer vision device scanner
Phase 5 Completed Docker, CI/CD, cloud deployment

Repositories

Repo Description
aura-platform This repo — main platform
aura-ticket-ai NLP ticket classifier
aura-predictive-maintenance ML prediction engine
aura-vision-ai Computer vision scanner
aura-infra Docker + deployment configs

Tech Stack

Backend

  • FastAPI — REST API framework
  • SQLAlchemy — ORM
  • Alembic — database migrations
  • PostgreSQL — primary database
  • python-jose — JWT authentication
  • Pydantic — data validation

Frontend

  • React 18 + Vite
  • TailwindCSS
  • Axios — API client
  • React Router

AI/ML (coming in Phases 2–4)

  • scikit-learn / PyTorch
  • Hugging Face Transformers
  • OpenCV

DevOps (Phase 5)

  • Docker + Docker Compose
  • GitHub Actions — CI/CD
  • Render / Railway / AWS — cloud deployment

Getting Started

Prerequisites

  • Python 3.11+
  • Node.js 18+
  • PostgreSQL 15+
  • Git

1. Clone the repo

git clone https://github.com/MandisaBiyela/aura-platform.git
cd aura-platform

Git hooks (once per clone): keeps GitHub contributors aligned with human authors only by removing Cursor co-author trailers from commit messages.

git config core.hooksPath .githooks

In Cursor, you can also turn off Agents → Attribution → Commit attribution (or set commitAttribution to false in the Cursor CLI config) so co-author lines are not injected in the first place. See Cursor forum: co-author discussion.

2. Set up the backend

cd backend
python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -r requirements.txt

Copy the environment file and fill in your values:

cp .env.example .env
DATABASE_URL=postgresql://user:password@localhost:5432/aura_db
SECRET_KEY=your-secret-key-here
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30

Run database migrations:

alembic upgrade head

Start the API:

uvicorn app.main:app --reload

API will be live at http://localhost:8000 Interactive docs at http://localhost:8000/docs

3. Set up the frontend

cd frontend
npm install
npm run dev

Frontend will be live at http://localhost:5173


API Endpoints

Auth

Method Endpoint Description
POST /auth/register Create a new user account
POST /auth/login Login and receive JWT token
GET /auth/me Get current authenticated user

Devices

Method Endpoint Description
GET /devices List all devices
POST /devices Add a new device
GET /devices/{id} Get device by ID
PUT /devices/{id} Update device
DELETE /devices/{id} Delete device

Tickets

Method Endpoint Description
GET /tickets List all tickets
POST /tickets Create a ticket
GET /tickets/{id} Get ticket by ID
PATCH /tickets/{id}/status Update ticket status

Project Structure

aura-platform/
├── backend/
│   ├── app/
│   │   ├── main.py           # FastAPI entry point
│   │   ├── auth/             # JWT authentication
│   │   ├── devices/          # Device inventory service
│   │   ├── tickets/          # Ticket management service
│   │   ├── models/           # SQLAlchemy models
│   │   └── database.py       # DB connection
│   ├── alembic/              # Database migrations
│   ├── requirements.txt
│   └── .env.example
├── frontend/
│   ├── src/
│   │   ├── pages/            # Dashboard, Inventory, Tickets
│   │   ├── components/       # Reusable UI components
│   │   └── api/              # Axios service layer
│   └── package.json
├── architecture/             # Diagrams and docs
├── .github/
│   └── workflows/            # CI/CD pipelines (Phase 5)
└── README.md

Development Workflow

# Always branch off dev
git checkout dev
git checkout -b feature/your-feature-name

# Work, commit often
git add .
git commit -m "feat: describe what you built"

# Push and open a pull request into dev
git push origin feature/your-feature-name

Commit message convention:

Prefix Use for
feat: New feature
fix: Bug fix
docs: Documentation update
refactor: Code restructure, no behaviour change
test: Adding or updating tests
chore: Tooling, config, dependencies

Roadmap

  • Project structure and GitHub setup
  • Auth service (register, login, JWT)
  • Device inventory CRUD
  • Ticket management system
  • React dashboard
  • AI ticket classifier (Phase 2)
  • Predictive maintenance model (Phase 3)
  • Computer vision scanner (Phase 4)
  • Docker + CI/CD + cloud deployment (Phase 5)

Author

MandisaGitHub · LinkedIn


License

MIT — see LICENSE for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages