Simple classroom manager developed with Java, Java Swing and PostgreSQL.
This project is coursework for the "Programming Paradigms" course at Universidad Siglo 21, aimed at demonstrating our understanding in design patterns and user interface development using Java Swing.
The objective of this project is to develop a comprehensive classroom management system capable of creating, modifying, and deleting courses, professors, and student records, while efficiently managing course inscriptions for both students and professors. Implementation of various design patterns was one of the requirements as well as the development of a fully functional user interface using Java Swing.
This project implements the following design patterns:
- Abstract Factory: Implemented in the professors and students creation through the PersonaFactory class
- Strategy: Implementd in HasLegajo interface to allow future extensions or variations of the way legacy is created for classes that implement this interface.
- DAO: Implemented in PersonaDAO and CursoDAO interfaces to separate the DB access logic from the rest of the program code. This facilitates maintainability and future changes that might be introduced on the system.
- Singleton: Implemented in different classes like DbConnect or AlumnoFacotry to ensure that these classes have only one instance and provide a global access point to that instance.
For further understanding on how we implemented the design patterns mentioned above, along with UML diagrams and examples, you can download the PDF document
- Organize the project development using Unified Software Development Process.
- Team work and communication.
- Implement design patterns that match the problem requirements.
- Develop a user-friendly UI using Java Swing.
- Creation of UML diagrams to represent the project structure.
- Database connection using JDBC driver.
- Download this project as zip and extract it.
- Import it in your preferred IDE.
- Migrate the database file into your PostgreSQL manager. We've used pgAdmin 4
- Verify you have already installed
org.postgresql.Driver
and it's been added to project external libraries. In case you don't have it, download it from the official page - Connect your database by modifying the following lines in
src/Db/DbConnect/DbConnect.java
private static final String DB_USER = "yourDbUser"; private static final String DB_PASS = "yourDbPass"; private static final String DB_URL = "yourLocalDbURL";
- Run the program.
Authors:
- Tomas Temporelli
- Valentino Mezzavilla
- Alejo Yammal