The College Registration Form is a desktop application designed to manage college student registrations with a focus on user experience and data integrity. It includes features such as field validation, UI state management, profile picture uploads, menu actions, and CSV data import/export. The application is implemented using JavaFX and integrates thread safety, user preferences, and database interactions.
- Edit Button: Disabled unless a record is selected from the table view.
- Delete Button: Disabled unless a record is selected from the table view.
- Add Button: Enabled only if all form fields contain valid information.
- Menu Items: Grayed out unless the required selection or conditions are met.
- Advanced Field Validation: Regex patterns ensure the integrity of all user input fields.
- Major Field Dropdown: Replaced the text input with a dropdown menu of predefined values (e.g., CS, CPIS, English), implemented using an enum.
- Status Bar: Displays a status message at the bottom of the window to notify users of successful actions like data addition or updates.
- Import CSV File: Allows importing registration data from a CSV file.
- Export CSV File: Enables exporting current data to a CSV file.
- UserSession Class: Redesigned to be thread-safe, ensuring consistent performance across multi-threaded environments.
- Sign-up Page:
- Enables user account creation.
- Stores username and password securely in a preference file for future use.
- Refactored the UserSession class to support user preferences.
- Light and Dark Modes:
- Styled the application for optimal appearance in both themes using CSS.
- Status messages adapt seamlessly to the selected theme.
- Profile Picture Upload Feedback:
- Added a loading bar under the profile picture upload section to indicate progress.
- Menu Bar Keyboard Shortcuts:
- Users can access menu actions using keyboard shortcuts for better navigation.
- Account Creation Feedback:
- Displays a confirmation message upon successful account creation.
- Automatically populates the profile picture URL in the text field upon upload.
- Java Development Kit (JDK 20 or higher).
- JavaFX SDK.
- An (IDE), used IntelliJ IDEA.
- Menu Actions: Use predefined keyboard shortcuts for quick navigation.
- The loading bar provides real-time feedback during the upload process.
- Import or export data to and from CSV files via the menu.
- JavaFX: For the user interface.
- Regex: Advanced input validation.
- JDBC: Database interaction.
- CSS: UI theming and styling.
- Threading: Ensuring thread safety.