Term project for CS102, Spring 2023-2024. Meeting dates and contents, along with general time stamps in development can be found under Meetings 3I.txt
If you get some import or package errors double-check that the only source path is UniversitySync\src. You can do this by CTRL+SHIFT+P (Command palette), choose "Java: Configure Classpath" and change it to UniversitySync\src ONLY and "Apply Settings" below.
You can find the text file for generating the whole UML diagram (uml.txt). To access the diagram easily, you may just
- Go to this website: https://www.planttext.com/
- Copy-paste the text file to the website.
- Click on the PNG button and now you have it.
The current diagram is as follows:
You can download and zoom it. Note that the image here is not the final version of the uml but rather a demonstration to how to display the uml.
This project uses a MySQL database hosted locally. To be able to run the program with the database, you need to do following:
- Download a version of MySQL server and MySQL Workbench suitable for you from https://dev.mysql.com/downloads/workbench/ . In the current project, version 8.0.x works fine.
- During the installation process, ensure that you installed both workbench and the server.
- Open MySQL Workbench. Create a new connection with username 'root' and password you choose. A sample tutorial can be found here: https://www.youtube.com/watch?v=b6Dme76UzmQ
- Connect to server using that connection, save your password to vault if you choose so.
- Click 'Open a SQL script file' option and open both 'Final Data Set.sql' and 'createInitialDatabaseTables.sql'.
- Run first createInitialDatabaseTables and then Final Data Set. Do it only once, not before everytime before running the project code.
- Open the project code, and in the HomePage.java file (located in src\app\controller) main method, change 'password' variable to your own MySQL password.
- In case you think there is something unwanted happened regarding the database or you want to reset sample data, you can repeat step 6. This will delete all the tables and reconstruct them.
This project uses JDK version 22 and the corresponding JavaFX version. We developed this project as a Maven project on the IntelliJ IDEA. The app runs properly in IntelliJ IDEA while other IDEs are not tested (except VSC). We HIGHLY suggest you use IntelliJ, as VSC was tested to be very unreliable. UI works best on a 1920x1080 screen, but in case of display errors on Windows display scaling can be altered for the UI to work more fluently on other resolutions.
In IntelliJ if you encounter problems,
- Ensure that your source and target paths for the project are set correctly, src directory should be set as source and target directory should be set as target.
- Make sure no classes are excluded from the compiler.
- Maven
- JavaFX v22.0.1
- JDK v22
- MySQL Workbench v8.0.37
- MySQL Connector Java v8.0.33