Loading repository data…
Loading repository data…
arpanAdhikari6 / repository
A full-stack enterprise application for managing energy assets, tracking maintenance, and generating data insights. Built with Java 21 and Spring Boot for scalable REST APIs, MySQL and Hibernate (JPA) for data management, and HTML, CSS, JavaScript for the frontend.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A full-stack enterprise-style application for tracking power plant equipment, logging maintenance activities, and generating operational analytics reports.
Built to demonstrate real-world enterprise development skills aligned with utilities industry standards.
| Layer | Technology |
|---|---|
| Backend | Java 21, Spring Boot 4.0 |
| Database | MySQL 9.3 |
| ORM | Hibernate / Spring Data JPA |
| Validation | Jakarta Validation |
| Frontend | HTML, CSS, Vanilla JavaScript |
| Analytics | Python 3, Pandas, Matplotlib |
| Version Control | Git / GitHub |
Browser (HTML/CSS/JS)
↓
Spring Boot REST API (Port 8080)
↓
MySQL Database
↓
Python Analytics Engine
| Column | Type | Description |
|---|---|---|
| asset_id | INT (PK) | Auto-increment primary key |
| asset_name | VARCHAR(100) | Name of the asset |
| asset_type | VARCHAR(50) | Type of asset |
| location | VARCHAR(100) | Physical location |
| status | VARCHAR(50) | Operational status |
| installed_date | DATE | Installation date |
| Column | Type | Description |
|---|---|---|
| log_id | INT (PK) | Auto-increment primary key |
| asset_id | INT (FK) | References assets table |
| technician_name | VARCHAR(100) | Technician who performed work |
| description | TEXT | Description of work done |
| status_after |
| VARCHAR(50) |
| Asset status after maintenance |
| maintenance_date | DATE | Date of maintenance |
| cost | DECIMAL(10,2) | Cost of maintenance |
| created_at | TIMESTAMP | Record creation timestamp |
| Method | Endpoint | Description |
|---|---|---|
| GET | /assets | Get all assets |
| GET | /assets/{id} | Get asset by ID |
| POST | /assets | Create new asset |
| PUT | /assets/{id} | Update asset |
| DELETE | /assets/{id} | Delete asset |
| Method | Endpoint | Description |
|---|---|---|
| GET | /maintenance | Get all logs |
| GET | /maintenance/assets/{assetId} | Get logs for specific asset |
| POST | /maintenance/assets/{assetId} | Create log for asset |
| DELETE | /maintenance/{logId} | Delete log |
POST /assets
{
"asset_name": "Turbine A1",
"assetType": "Turbine",
"location": "Plant Unit 1",
"status": "Operational",
"installedDate": "2020-06-15"
}
Response:
{
"assetId": 1,
"asset_name": "Turbine A1",
"assetType": "Turbine",
"location": "Plant Unit 1",
"status": "Operational",
"installedDate": "2020-06-15"
}
Located in energy-management/analytics/
Connects directly to MySQL and generates:
Run the analytics:
cd energy-management/analytics
venv\Scripts\activate
python analytics.py
# 1. Create MySQL database
CREATE DATABASE energy_asset_management;
# 2. Configure database credentials
# Edit src/main/resources/application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/energy_asset_management
spring.datasource.username=root
spring.datasource.password=YOUR_PASSWORD
# 3. Run the application
cd energy-management/energy-management
.\mvnw.cmd spring-boot:run
Open browser and navigate to:
http://localhost:8080/index.html
cd energy-management/analytics
venv\Scripts\activate
pip install -r requirements.txt
python analytics.py
energy-asset-management/
├── energy-management/
│ ├── analytics/ # Python analytics module
│ │ ├── analytics.py
│ │ ├── requirements.txt
│ │ └── reports/
│ └── energy-management/ # Spring Boot backend
│ ├── src/main/java/com/arpan/energy_management/
│ │ ├── controller/ # REST controllers
│ │ ├── entity/ # JPA entities
│ │ ├── repository/ # Spring Data repositories
│ │ ├── service/ # Business logic
│ │ └── exception/ # Custom exception handling
│ ├── src/main/resources/
│ │ └── static/index.html # Frontend dashboard
│ └── pom.xml
└── README.md
Arpan Adhikari
Computer Information Systems | Washburn University
GitHub