Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
Added implementation details.
Added emails to contact info section.
  • Loading branch information
nahumguess authored Dec 1, 2024
1 parent 4bdf859 commit 89a8778
Showing 1 changed file with 54 additions and 8 deletions.
62 changes: 54 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand All @@ -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])

0 comments on commit 89a8778

Please sign in to comment.