DataCenterLib is a final project assignment for the Object-Oriented Programming (PBO) laboratory course. It provides a visual, interactive top-down map interface to manage Data Center rooms, server racks, and network pathing, integrated with a local database to retain metrics, hardware configurations, and spatial coordination.
- Jauza Ilham Mahardhika Putra (123240174)
- Dimas Hafid Fathoni (123240159)
- Interactive Map Viewport:
- Real-time grid-based room management with fluid camera controls (
W,A,S,D). - Add Data Center Rooms (Small: 32x32, Medium: 64x64, Large: 128x128).
- Real-time grid-based room management with fluid camera controls (
- Rack & Spatial Management:
- Build 3x3 Server Racks (supports user-defined U capacity and Zoning fields).
- Build 1x1 floor pathways for visual layout.
- Drag and drop capabilities to dynamically relocate installed Racks across the coordinate map.
- Server & Equipment Tracking:
- Granular visibility into individual racks (displaying empty, filled, or out-of-order U slots).
- Batch management: Add, Update, Move, and Delete Servers in bulk.
- Live monitoring visualizers tracking Server specific hardware utilization (CPU, RAM, Storage).
- Dashboard Suite:
- Read-only metrics overlay summarizing total racks, active paths, available space, and systemic hardware health.
- "Purge Room" utility to safely reset environmental states.
Before running the application, ensure your environment meets these requirements:
- Java Development Kit (JDK) 22+
- MySQL Server (Using XAMPP, WAMP, or standalone)
- MySQL Connector/J (
mysql-connector-j-9.7.0.jarincluded intools/)
-
Clone the repository:
git clone https://github.com/dragonsterm/DataCenterLib.git cd DataCenterLib -
Set up the Database:
- Open your MySQL client (e.g., phpMyAdmin, DBeaver, or MySQL CLI).
- Create a new database named
datacorelibrary. - Import the provided foundational schema located at:
sql/datacorelibrary.sql - Note: By default, the application accesses
localhost:3306with the usernamerootand an empty password.
-
Build the Application (Ant / Terminal):
- If you have Apache Ant installed, you can build a runnable jar:
ant clean jar java -jar dist/DataCenterProject.jar
- If you have Apache Ant installed, you can build a runnable jar:
- Language: Java 22 SE
- GUI Framework: Java Swing & AWT (Graphics2D)
- Database: MySQL Relational Database
- Build Tool: Apache Ant / IntelliJ IDEA configs
Developed for UPN "Veteran" Yogyakarta - Praktikum PBO