Changes between Initial Version and Version 1 of BuildInstructions


Ignore:
Timestamp:
02/05/26 19:47:30 (3 weeks ago)
Author:
216009
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BuildInstructions

    v1 v1  
     1= Build Instructions
     2
     3== Development Environment Description
     4
     5- Programming Language: Java 17
     6
     7- IDE: IntelliJ IDEA / Eclipse / VS Code (Java support)
     8
     9- Database: PostgreSQL 15 (or compatible version)
     10
     11- JDBC Driver: PostgreSQL JDBC Driver 42.6.0 (postgresql-42.6.0.jar)
     12
     13- Download from: https://jdbc.postgresql.org/download.html
     14
     15- Add to project classpath or IDE libraries
     16
     17- Operating System: Windows / Linux / macOS
     18
     19- Build Tool: None required (plain Java compilation via IDE or javac)
     20
     21== Software Required
     22
     23- Java JDK 17 installed and configured (java -version to check).
     24
     25- PostgreSQL installed and running.
     26
     27- PostgreSQL JDBC driver included in the project classpath.
     28
     29- IDE (IntelliJ/Eclipse/VS Code) or command line compiler to build Java project.
     30
     31== Build Instructions
     32
     331. Clone the project from your Git repository:
     34{{{
     35git clone <repository_url>
     36}}}
     37
     382. Open the project in your IDE.
     39
     403. Add PostgreSQL JDBC jar (postgresql-42.6.0.jar) to the project libraries.
     41
     424. Compile all .java files.
     43
     445. 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.
     49
     50== Launch Instructions
     51
     521. Ensure PostgreSQL is running and accessible.
     53
     542. 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
     65
     663. Run the main class:
     67{{{
     68java University
     69}}}
     70
     71 or via IDE Run Configuration.
     72
     734. 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
     80
     81== Testing Instructions
     82
     83=== Administrator Use-case Test
     84
     851. Launch program, select Administrator (1).
     86
     872. Add a university.
     88
     893. Verify in the database that table University contains the new entry:
     90{{{
     91SELECT * FROM University;
     92}}}
     93
     94=== Professor Use-case Test
     95
     96Launch program, select Professor (2).
     97
     98Assign a grade to a student for a subject.
     99
     100Verify that table Student_Subject has updated Final_Grade and Status = 'PASSED':
     101
     102SELECT * FROM Student_Subject WHERE Student_Id = <id> AND Subject_Id = <id>;
     103
     104
     105=== Student Use-case Test
     106
     107Launch program, select Student (3).
     108
     109Enroll in a subject.
     110
     111Verify that table Student_Subject has a new row with Status = 'ENROLLED':
     112
     113SELECT * FROM Student_Subject WHERE Student_Id = <id> AND Subject_Id = <id>;
     114
     115
     116== Usernames and Passwords
     117
     118Database: Use your local PostgreSQL credentials.
     119
     120Application CLI: No usernames/passwords required for the prototype (IDs are selected from lists).
     121
     122== Step-by-Step Mini Guide
     123
     124Launch application.
     125
     126Choose actor from main menu: Administrator / Professor / Student.
     127
     128Follow on-screen menus:
     129
     130Admin: Add University → Add Professor → Add Student
     131
     132Professor: Assign Grade → select professor → subject → student → grade
     133
     134Student: Enroll in Subject → select student → select subject
     135
     136Verify actions in the database using SELECT queries.