Changes between Version 2 and Version 3 of BuildInstructions


Ignore:
Timestamp:
06/15/26 14:38:36 (38 hours ago)
Author:
216009
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BuildInstructions

    v2 v3  
    44
    55- Programming Language: Java 17
    6 
    76- IDE: IntelliJ IDEA / Eclipse / VS Code (Java support)
    8 
    97- Database: PostgreSQL 15 (or compatible version)
    10 
    118- JDBC Driver: PostgreSQL JDBC Driver 42.6.0 (postgresql-42.6.0.jar)
    12 
    139- Download from: https://jdbc.postgresql.org/download.html
    14 
    1510- Add to project classpath or IDE libraries
    16 
    1711- Operating System: Windows / Linux / macOS
    18 
    1912- Build Tool: None required (plain Java compilation via IDE or javac)
    2013
     
    2215
    2316- Java JDK 17 installed and configured (java -version to check).
    24 
    2517- PostgreSQL installed and running.
    26 
    2718- PostgreSQL JDBC driver included in the project classpath.
    28 
    2919- IDE (IntelliJ/Eclipse/VS Code) or command line compiler to build Java project.
    3020
     
    4333
    44345. Ensure database schema is created in PostgreSQL:
    45 
    46 -  Run create_tables.sql to generate all tables.
    47 
    48 - Optionally, run insert_sample_data.sql for test data.
     35 - Run create_tables.sql to generate all tables.
     36 - Run data_load.sql for initial test data and constraints setup.
    4937
    5038== Launch Instructions
     
    5341
    54422. Update JDBC connection settings in JDBC.getConnection() method with:
    55 
    56 - Host
    57 
    58 - Port
    59 
    60 - Database name
    61 
    62 - Username
    63 
    64 - Password
     43 - Host
     44 - Port
     45 - Database name
     46 - Username
     47 - Password
    6548
    66493. Run the main class:
     
    6851java University
    6952}}}
    70 
    7153 or via IDE Run Configuration.
    7254
    73554. The CLI menu will appear:
    74 
    75 - Administrator: manage universities, add professors/students
    76 
    77 - Professor: assign grades to students
    78 
    79 - Student: enroll in subjects
     56 - Administrator: manage universities, add professors/students, create subjects
     57 - Professor: assign grades to students
     58 - Student: enroll in subjects by choosing a professor instance
    8059
    8160== Testing Instructions
     
    8362=== Administrator Use-case Test
    8463
    85 1. Launch program, select Administrator (1).
    86 
     641. Launch program, select Admin Menu (1).
    87652. Add a university.
    88 
    89663. Verify in the database that table University contains the new entry:
    9067{{{
     
    9471=== Professor Use-case Test
    9572
    96 1. Launch program, select Professor (2).
    97 
    98 2. Assign a grade to a student for a subject.
    99 
     731. Launch program, select Professor Menu (2) → Assign Grade to Student.
     742. Select a professor, a subject they instruct, an enrolled student, and assign a grade (6-10).
    100753. Verify that table Student_Subject has updated Final_Grade and Status = 'PASSED':
    10176{{{
    102 SELECT * FROM Student_Subject WHERE Student_Id = <id> AND Subject_Id = <id>;
     77SELECT * FROM Student_Subject WHERE Student_Id = <id> AND Subject_Id = <id> AND Professor_Id = <id>;
    10378}}}
    10479
    10580=== Student Use-case Test
    10681
    107 1. Launch program, select Student (3).
    108 
    109 2. Enroll in a subject.
    110 
    111 3. Verify that table Student_Subject has a new row with Status = 'ENROLLED':
     821. Launch program, select Student Menu (3) → Enroll in Subject.
     832. Select a student, available subject, and a professor instance.
     843. Verify that table Student_Subject has a new row successfully created with Status = 'PASSED':
    11285{{{
    11386SELECT * FROM Student_Subject WHERE Student_Id = <id> AND Subject_Id = <id>;
     
    11790
    11891- Database: Use your local PostgreSQL credentials.
    119 
    120 - Application CLI: No usernames/passwords required for the prototype (IDs are selected from lists).
     92- Application CLI: No credentials required for the prototype (IDs are selected dynamically from terminal lists).
    12193
    12294== Step-by-Step Mini Guide
    12395
    124961. Launch application.
    125 
    126 2. Choose actor from main menu: Administrator / Professor / Student.
    127 
     972. Choose actor from main menu: Admin Menu / Professor Menu / Student Menu.
    128983. Follow on-screen menus:
    129 
    130 - Admin: Add University → Add Professor → Add Student
    131 
    132 - Professor: Assign Grade → select professor → subject → student → grade
    133 
    134 - Student: Enroll in Subject → select student → select subject
    135 
    136 4. Verify actions in the database using SELECT queries.
     99 - Admin: Add University → Add Professor → Add Student → Create Subject
     100 - Professor: Assign Grade → select professor → select subject → select student → enter grade
     101 - Student: Enroll in Subject → select student → select subject → select professor
     1024. Verify actions in the database using standard SELECT queries.