Home - HarmandeepArneja/ChoresGalore GitHub Wiki
ParentChoreSystem Wiki
Overview
Welcome to the ParentChoreSystem GitHub repository! This project is a Java-based chore management system designed to facilitate communication between parents and children regarding household chores. The system includes parent and child accounts, chore assignments, and even a competition module. Below is a detailed breakdown of the project's structure and major components.
Repository Structure
1. src folder:
- choreModule package:
Chore.java: Represents a chore with attributes such as name, category, time, payment, and completion status.ChoreUtils.java: Provides utility methods for sorting, filtering, and creating Excel sheets from lists of chores.
- accountModule package:
Account.java: Represents a generic account with a username and password, with an authentication method.ParentAccount.java: ExtendsAccountand manages child accounts, chore assignments, and related actions.ChildAccount.java: ExtendsAccountand includes methods for marking chores as completed, calculating working hours, and checking balances.
- competitionModule package:
Competition.java: Manages a competition between two child accounts based on their completed chores and working hours.
- UserInterface package:
ChildAccountGUI.java: GUI for child account interactions.ChildRegistration.java: GUI for child account registration.CompetitionStandings.java: GUI displaying competition standings.CompetitionGUI.java: GUI for creating competitions.ParentLoginPage.java: GUI for parent login.ChildLoginPage.java: GUI for child login.MainPage.java: Main GUI for navigating between parent and child accounts.ParentAccountGUI.java: GUI for parent account interactions.ParentRegistration.java: GUI for parent account registration.SingleChoreDetails.java: GUI for chore full details.
2. test folder:
Unitfolder: Contains JUnit tests for each class and method to ensure proper functionality.IntegratedDBTestingfolder: Contains manually database testing information.CustomerTestsfolder: Contains test cases for each user stories.
3. lib folder:
Apache POI: External library used for creating Excel sheets from chore lists.mysql-connector-j-8.3.0: MySQL connector for Java.WindowBuilder: Tool for designing Swing GUIs.jcalendar-1.4.jar: External library for Calendar.
Overall Architecture
Internal Components:
-
choreModulepackage:Chore: Represents the core entity of chores.ChoreUtils: Provides utility methods for chore manipulation.
-
accountModulepackage:Account: Represents the basic account structure with authentication.ParentAccount: Manages child accounts and chore assignments.ChildAccount: Manages child-specific actions and interactions.
-
competitionModulepackage:Competition: Organizes and determines competition winners.
-
UserInterfacepackage:- Various GUI classes for interacting with the system.
-
DatabaseModulepackage:- Handles database connectivity, setup, and operations.
External Components:
-
Apache POI:- External library for creating Excel sheets.
-
mysql-connector-j-8.3.0:- MySQL connector for Java.
-
WindowBuilder:- Tool for designing Swing GUIs.
-
jcalendar-1.4.jar- External library for Calendar.
Dependencies
choreModulerelies on Java standard libraries.libfolder contains external libraries (Apache POI, MySQL connector, jCalendar).UserInterfacerelies on Swing for GUI.DatabaseModulerelies on MySQL.