A role-based employee management system with HR Admin and Employee portals. Originally a console application, being upgraded with a GUI.
- Course: CSC3350 Software Development (Group Project)
- Original format: Console-based Java application
- Features: Role-based access (HR Admin / Employee), MySQL database, CRUD operations, payroll reports
| Document | Google Docs | PDF (Repo) |
|---|---|---|
| Software Design Document | View on Google Docs | Download |
| User Story Task Document | View on Google Docs | Download |
- Software Design Document added to repository
- Improved error handling and validation
- Professional README with setup instructions
- GUI built with Java Swing / JavaFX (in progress)
- Additional reporting features (planned)
Due to uneven team participation, I served as the de facto lead - a role I stepped into to ensure project completion.
My specific contributions:
- Wrote the complete Software Design Document and programming tasks
- Defined and documented all test cases
- Created and managed the shared online database (Aiven)
- Debugged and completed work that had issues or was only partially finished from team members (DataAccessLayer and 2-3 other files)
- Added missing functions, imports, and validation logic
- Drove all communication and coordination
- Completed the following files I was responsible for: AuthenticationController.java, Main.java
What I learned about leadership: Taking ownership when others don't, maintaining quality standards, and delivering a working product despite unreliable collaboration.
- Language: Java
- Database: MySQL (Aiven or local)
- GUI (planned): Java Swing / JavaFX
- JDBC: MySQL Connector
- Java 11 or higher
- MySQL database (Aiven or local instance)
- MySQL JDBC driver
- Clone the repository
git clone https://github.com/night-angel-dev/Employee-Management-System.git- Configure database connection
- Edit config.properties with your database credentials
- Run the application
javac -cp "lib/mysql-connector-j-9.1.0.jar" -d src src/model/*.java src/dao/*.java src/controller/*.java src/view/*.java src/main.java
java -cp "src;lib/mysql-connector-j-9.1.0.jar" main- Aiven (cloud): Use for team access
- Local MySQL: Use for solo development
- Console mode: Original implementation (working)
- GUI mode: In development
- Good architecture enables parallel work, even when team collaboration fails
- Always establish contribution expectations and communication guidelines early
- A shared online database (Aiven) significantly reduces integration headaches
- Being the responsible person on a team means sometimes doing more than your share
Academic project - for portfolio purposes only