Orbit is a web-based system designed to digitize and streamline routine thermal inspections of distribution transformers.
Currently, inspections are manual, time-consuming, and error-prone. This project lays the foundation for an end-to-end inspection workflow.
We have completed Phase 1 – Transformer and Baseline Image Management, which includes:
- Add new transformer records
- View and edit existing transformer records
- Delete transformer records if required
- Upload thermal images linked to specific transformers
- Support for two image types:
- Baseline: Reference images for comparisons
- Maintenance: Images from periodic inspections
- Each image is stored with metadata:
- Upload date/time
- Image type (Baseline / Maintenance)
- Uploader (admin ID or name)
- While uploading baseline images, users must select environmental conditions:
- Sunny
- Cloudy
- Rainy
- Images are stored and searchable by these conditions
- Frontend: React (Vite + TypeScript + Tailwind CSS)
- Backend: Java with Spring Boot (RESTful API)
- Database: Relational DB (PostgreSQL)
Make sure the following are installed:
-
Java 21 (for Spring Boot backend) - Java Downloads
-
Maven 3.9+ (build tool, usually bundled with IntelliJ / Spring Boot) - Download
-
Node.js (v18.x or higher is recommended) - nodejs.org
-
npm (Node Package Manager, comes with Node.js)
-
PostgreSQL 17 (database, use pgAdmin for management) - PostgreSQL Downloads
- Go to frontend foldeer:
git clone https://github.com/Orbit-Transformer-Management/Transformer-Management
cd frontend
- Install dependacies:
npm install
- Run development server:
npm run dev
- Open the app in browser: http://localhost:5173
- Create PostgreSQL database:
CREATE DATABASE transformer_db;
-
Spring Boot will auto-generate tables (using JPA).
-
If needed, you can insert sample data manually via pgAdmin or SQL scripts.
Method | Endpoint | Description |
---|---|---|
GET | /api/v1/transformers |
Get all transformers |
GET | /api/v1/transformers/{transformerNumber} |
Get a transformer by transformer number |
GET | /api/v1/transformers/{transformerNumber}/image |
Get the baseline image of a transformer |
POST | /api/v1/transformers |
Create a new transformer |
POST | /api/v1/transformers/{transformerNumber}/image |
Upload baseline image for transformer |
DELETE | /api/v1/transformers/{transformerNumber} |
Delete a transformer by transformer number |
Method | Endpoint | Description |
---|---|---|
GET | /api/v1/inspections |
Get all inspections |
GET | /api/v1/inspections/{inspectionNumber} |
Get an inspection by inspection number |
GET | /api/v1/transformers/{transformerNumber}/inspections |
Get all inspections of a specific transformer |
GET | /api/v1/inspections/{inspectionNumber}/image |
Get inspection image |
POST | /api/v1/inspections |
Create a new inspection |
POST | /api/v1/inspections/{inspectionNumber}/image |
Upload inspection image |
DELETE | /api/v1/inspections/{inspectionNumber} |
Delete an inspection |
-
User authentication/authorization not yet implemented (anyone can access endpoints).
-
No automated anomaly detection yet — currently, only metadata and image upload supported.
- Team Orbit