Skip to content

tototempo/classroom-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Classroom Manager

Simple classroom manager developed with Java, Java Swing and PostgreSQL.

Table of Contents

  1. About
  2. Project Goal and Implementation
  3. Key Learnings
  4. Installation
  5. Credits

About

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.

Project Goal and Design Patterns Implemented

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

Key Learnings

  • 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.

Installation

  1. Download this project as zip and extract it.
  2. Import it in your preferred IDE.
  3. Migrate the database file into your PostgreSQL manager. We've used pgAdmin 4
  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
  5. 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";
  6. Run the program.

Credits

Authors: