-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added implementation details. Added emails to contact info section.
- Loading branch information
1 parent
4bdf859
commit 89a8778
Showing
1 changed file
with
54 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,7 +17,53 @@ The SoftEng Health Club is known for its commitment to member satisfaction. It a | |
- **MySQL**: Database management system for storing and retrieving all membership data. | ||
|
||
## Implementation Details | ||
[To be completed] | ||
|
||
The SoftEng Health Club Membership Management System comprises several Java classes and interfaces, each responsible for specific functionalities that ensure robust operation and maintainability. Here's an overview of the key components: | ||
|
||
### Classes and Components: | ||
|
||
1. **`Member.java`**: | ||
- Inherits from the `Person` class. | ||
- Attributes include `id_number`, `creation_date`, `expiration_date`, and `last_checked_in`. | ||
- Methods for setting ID number, creation date, updating check-in times, and expiration dates, which aid in tracking membership validity and usage. | ||
|
||
2. **`Person.java`**: | ||
- Base class for all person-type entities in the system. | ||
- Contains personal information like name, email address, date of birth, and phone number. | ||
- Methods to retrieve and update personal information, ensuring encapsulation and data integrity. | ||
|
||
3. **`Status.java`**: | ||
- An enumeration that defines roles such as `STAFF` and `CLUB_MANAGER`, utilized for role-based access control within the system. | ||
|
||
4. **`LoginPage.java`**: | ||
- A Java Swing dialog that handles user authentication. | ||
- Integrates with the system's backend to validate user credentials against stored data in the MySQL database. | ||
- Provides GUI elements for user interaction and input validation. | ||
|
||
5. **`jdbcValues.java`**: | ||
- An interface that stores JDBC database connection parameters such as DB URL, username, and password, centralizing the database configuration for easy management. | ||
|
||
6. **`LoginPage.form`**: | ||
- An XML configuration for designing the GUI layout of the login page, specifying grid layouts, fonts, and other UI components. | ||
|
||
7. **`SoftEngHealthClubSystem.java`**: | ||
- The main driver class that initiates the application. | ||
- Handles session management post-login, displaying the home page and passing user details throughout the system. | ||
|
||
8. **`LogIn.java`**: | ||
- Facilitates the interaction with the `LoginPage` class. | ||
- Handles the outcome of the authentication process, either logging the user in or handling login failures. | ||
|
||
### Database Integration: | ||
|
||
- Utilizes MySQL for data storage, managing members' data, session logs, and authentication details. | ||
- Connection and query executions are managed through standard JDBC API calls, ensuring reliable data transactions and security against SQL injection via prepared statements. | ||
|
||
### User Interface: | ||
|
||
- Designed using Java Swing, providing a native look and feel that is familiar to users. | ||
- The login page is created with a combination of labels, text fields, and buttons laid out using a `GridLayoutManager` to ensure a responsive layout across different screen resolutions. | ||
|
||
|
||
## Testing Details | ||
[To be completed] | ||
|
@@ -30,10 +76,10 @@ This project is developed by a dedicated team of software engineering students f | |
|
||
## Contact Information | ||
For more details about the project, or to reach out with questions or suggestions, please contact the following team members: | ||
- **Nahum Gessesse** - Developer | ||
- **Xander Estevez** - Developer | ||
- **Manali Deb** - QA/Technical Writer | ||
- **Alina Zacaria** - Tech Lead | ||
- **Andrew Do** - Developer | ||
- **Nick Calhoun** - Developer | ||
- **Jai Fischer** - Developer | ||
- **Nahum Gessesse** - Developer - Email: [[email protected]](mailto:[email protected]) | ||
- **Xander Estevez** - Developer - Email: [[email protected]](mailto:[email protected]) | ||
- **Manali Deb** - QA/Technical Writer - Email: [[email protected]](mailto:[email protected]) | ||
- **Alina Zacaria** - Tech Lead - Email: [[email protected]](mailto:[email protected]) | ||
- **Andrew Do** - Developer - Email: [[email protected]](mailto:[email protected]) | ||
- **Nick Calhoun** - Developer - Email: [[email protected]](mailto:[email protected]) | ||
- **Jai Fischer** - Developer - Email: [[email protected]](mailto:[email protected]) |