A management simulation software for a nuclear power plant ("Unitat de Biomonitorització"), developed as a final project for the Programming II course at the Universitat de Barcelona (UB).
⚠️ Disclaimer: Academic Project (Year 1) This project represents my first steps into Object-Oriented Programming (OOP) and GUI development. The architecture and code structure reflect my knowledge at that time and have been preserved for archival purposes.
| Manual Control Deck | Information & Logs Hub |
|---|---|
![]() |
![]() |
| Real-time reactor adjustments (Rod insertion, Pumps) | Access to logs, status reports, and incident history |
Screenshots showing the persistence menu and the incident logging system.
- Nuclear Management: Control reactors and cooling pumps manually.
- Real-time Monitoring: Visual feedback on power demand, rod insertion levels, and system status.
- Economics & Progression: Manage daily profits/losses and advance through days using the "Finalitzar dia" cycle.
- Persistence System: Save and load the full state of the simulation using Java Serialization.
- Incidents Log: Automatic logging of system failures (e.g., Reactor overheating > 1000ºC).
Despite being a freshman project, it implements solid OOP principles:
- Architecture: MVC Pattern (Model-View-Adapter) to separate logic from the Swing GUI.
- Polymorphism & Interfaces: Uses
InComponentinterface for standardizing components (Turbines, Reactors). - Exception Handling: Custom
CentralUBExceptionfor logic errors. - Event Driven: Interactive UI with
ActionListener.
This project was developed using NetBeans IDE.
- Clone the repository.
- Open the project folder in NetBeans.
- Run
AppCentralUB.java(located inprog2.vista).


