DEL ROSARIO, Angelica Vince L.
SALAZAR, Chiel E.
drive.google.com/open?id=1paFQlnyar6ziQW7Z8XW_rmyV6RmEG_Fu
The Requirements Counter program asks for user input for a name then the requirements calendar window opens once name is already inputted. There will be buttons available to add a requirement for each day and to remove requirements already placed in the calendar. There will also be a reset button which will clear all the requirements listed in all days. Lastly, there will be a save button so that the inputted requirements will still be available even if the requirements calendar will be closed for future use.
The project is done and can now be used :)
The versions used in the project:
- Netbeans IDE 8.2
- JavaFX Scene Builder 8.5.0
- Notepad Version 1803 (OS Build 17134.765)
We have 4 scenes:
- User Name
- Requirements Weekly Calendar
- Add Requirement
- Remove Requirement
The window asking for user's name will redirect to the main requirements calendar after clicking the confirm button. Clicking the add requirements button will open a new window asking for requirement input, then the inputted value will be shown in the main calendar. The remove requirement button works the same way, but instead of adding requirements, it will remove the user's input from the existing list of requirements.
The program asks for the user's name and clicking on the confirm button redirects the user to the main requirements calendar. Additionally, the title is set to be "(user's name)'s Weekly Requirements Calendar".
The add requirement button lets the user choose to add either a minor requirement or a major requirement. If it was determined by the user as a minor requirement, the requirement added will be black while if it is a major requirement, the text will be red. The indicators (red and black) will make it easier for the user to easily keep track of how many minor/major requirements they have for the day
The problem encountered was that each time the scene changes, the whole calendar reloads, making the previously added requirement reinitialized to a blank text. Therefore, only 1 requirement can be added. The solution to this problem was to put the add requirement, remove requirement, and the text field in the main requirements calendar. So in this milestone, there are only 2 scenes left; the ask user name and the main requirements calendar.
The limit for the number of requirements per day is 10. A notification will appear below if the limit is reached. To remove the notification, simply click on the text and it will disappear :)
The user may have inputted a wrong requirement or the deadline might have transferred. To address this problem, a remove requirement button should be present in order to remove the unwanted requirement from the list.
The requirements listed below the removed requirement will also automatically go up so the list of requirements will still look nice and the requirements will be arranged in the table in an orderly manner. It is also ensured that the indicator for a major/minor requirement will be retained even if the requirements move up.
The user might want to remove all the requirements when it's the beginning of a new week. The reset button will remove all the requirements listed in the whole requirements calendar, including the notification below and the text fields if ever those have contents too.
This button also initializes all the variables used in the code. Pressing this button is basically restarting the whole program except for the user's name.
Since the project is a weekly requirements calendar, this program will be used for at least a week. Users will not leave the program running for a whole week. Therefore, a save button must be made so that when the user runs the program, the previously inputted data will be restored. The design was also improved in this milestone by making the font sizes bigger for better viewing :)
The data will be stored and read in a txt file. The txt file in this program will be stored in "C:\\database\Reqs.txt" (Drive C, database folder, Reqs.txt). The save function will only work if there is a folder "database" found in drive C. In order for this function to work without making a new folder, the following lines in the code can be changed:
line 78: File Reqs = new File("C:\database\Reqs.txt");
line 4882: try (Scanner s1 = new Scanner(new File("C:\database\Reqs.txt"))) {
Just simply change "C:\\database\Reqs.txt" to wherever you want the Reqs.txt to be saved.
In this milestone, the user input for name was also removed because of its uselessness since the requirements calendar can now be saved even if the program is closed.