/Student-service

Java project where we build a Java Swing application for our Student Service, where the software will help an employee to interact with the students, professors, and subjects.

Primary LanguageJava

Student service

About

This is an application for the needs of a student service officer with reliance on the programming language Java and the library for developing graphical user interface Swing

1. App layout

The main window contains:

  1. Menu Bar of the application
  2. The toolbar of the application
  3. Table with selected entities
  4. Status Bar of the application

1.1 Application Menu (#menu_bar)

The menu bar has 3 menus, each of them with the following items, respectively submenus :

  1. File
    a) New - Add a new entity to the system.
    b) Close - Close the application.
  2. Edit
    a) Edit - Modify an existing entity.
    b) Delete - Deletes an existing entity.
  3. Help
    a) Help - This section should contain a detailed description of how the application is used. Also, it contains shortcuts(accelerators) for advanced users.
    b) About - View the version of the application as well as a brief description of the application, followed by a biography of each author.

1.2 Toolbar Application (#toolbar)

The toolbar of the application contains 3 buttons and one text input field. Toolbar layout is given on the picture

The first button is to open a dialog to create a new student/professor/subject. The second button is used to open a dialog to modify an existing student/professor/subject while the third button deletes the selected entity from the table. The user can enter the combined search and click on the button to search the table. The table will show satisfying entities.

1.3 Status of the Application Bar (#status_bar)

The status of the application bar contains:

  1. the current date
  2. the current time
  3. the name of the application

2. System model

The application handles with the following entities, which have the following attributes:

Student (#student)
• Name
• Surname
• Date of birth
• Residential address
• Contact phone
• E-mail address
• Index number
• Date of entry
• Current year of study
• Status (enum type: “B” - for budget and “S” - for self-financing)
• Average rating
• List of courses the student listens to

Professor (#professor)
• Name
• Surname
• Date of birth
• Residential address
• Contact phone
• E-mail address
• Office address
• ID number
• Title
• Calling
• A list of subjects the professor is on

Subject (# subject)
• Item code
• Name of the subject
• Semester
• Year of study in which the course is taught
• Subject Professor
• List of students listening to the course

Functionality

View a list of course that student is attending

Selecting the button "Prikazi" (View) we can see a list of courses that student is attending

View a list of students who are attending that course

Selecting the button "Prikazi" (View) we can see list of students who attending that course, also we can delete students from that course selecting button "Obrisi" (Delete).

Adding a student

Selecting the appropriate button (in this example, it is the first button from the toolbar) open new dialog to add student. All fields must be valid entered otherwise, pressing the Confirm button is disabled.

Editing student

Selecting the appropriate button (this is the second toolbar button in the example) opens a new dialog to change the selected student from the spreadsheet. All fields must be valid modified otherwise, pressing the Confirm button is disabled.

Deleting a student

Selecting the appropriate button (in this example, it is the third button in the toolbar) opens a new dialog where the user needs to confirm whether they want to delete the selected student from tables

Sorting a students

Sorting all students in the table by:
a) index (ascending / descending)
b) name (ascending / descending)
c) surname (ascending / descending)
d) date of birth (ascending / descending)
e) year of enrollment (ascending / descending)
f) status (ascending / descending)
g) average grade (rising / falling)

Student search

Adding students to the course (It is only possible to add students who matches the year of corresponding course)

Deliting students from the course

Adding a course

Selecting the appropriate button (that is the first toolbar button in this example) open a new dialog to add course. All fields must be valid entered otherwise, pressing the "Potvrdi"(Confirm) button is disabled.

Editing an existing course

Selecting the appropriate button (that is the second toolbar button in this example) open a new dialog to change the selected course from the spreadsheet. All fields must be valid modified otherwise, pressing the "Potvrdi"(Confirm) button is disabled.

Deleting an existing course

Everything is synchronised, when you delete an existing course, that course will be deleted and from all students and professors

Sorting a course

a. code (ascending / descending)
b. name (ascending / descending)
c. semester (ascending / descending)
d. year in which the subject is heard (rising / falling)

Adding a new professor

Selecting the appropriate button (in this example, it is the first button from the toolbar) opens new dialog to add a new professor. All fields must be valid entered otherwise, pressing the Confirm button is disabled.

Editing an existing professor

Selecting the appropriate button (in this example, it is the second button from the toolbar) opens new dialog to modify a existing professor. All fields must be valid edited otherwise, pressing the Confirm button is disabled.

Deleting an existing professor

Selecting the appropriate button (in this example, it is the third button from the toolbar) opens new dialog to delete a existing professor

Sorting a professors

a. name (ascending / descending)
b. surname (ascending / descending)
c. date of birth (ascending / descending)

Adding professors on course

Selecting the appropriate button (in this example, it is the fift button from the toolbar) opens new dialog to enter ID number of existing professor, after that you can confirm dialog.

Deleting professors from course

Selecting the appropriate button (in this example, it is the button "Prikazi" in the table) opens new dialog with list of existing courses for selected student, after that you can select course and confirm dialog ( button "Obrisi").