This is a group project of the subject SWP391 of the 5th term at FPT University. The goal of the project is to develop a web application to be used for managing the online recruitment process
- Nguyen Thi Cam Huong
- Le Dang Khoa - GitHub
- Nguyen Duc Toan - GitHub
- Lo Quang Thang - GitHub
- Tran Vo Hoang Trong An - GitHub
- Le Quang Phu - GitHub
-
Build tool: Maven
-
Front-end: HTML/CSS, JavaScript
-
Back-end: Spring Web MVC, Spring Security, Hibernate and JPA, Criteria query API, Google Authentication(OAuth2), SQL Server
This web application is developed for 5 user roles including Department, Candidate, HR Employee, Interviewer, HR Manager. Role department can login using email and password, the rest of roles can login with google as provider and there are 2 sections of login google (1 for candidates, 1 for employees). If candidate is a new account, system will automatically add new account to database.
Each role has its own specific functions, you can find it on section "Roles and features"
This is a brief description of the recruitment process
- Post job vacancies -> Job Application -> CV Evaluation(Pass/Fail) -> Interview -> Reports after interview -> Final Decision(Pass/Fail)
If CV fail, candidate will fail the job that he/she applied. If CV passed, candidate will get a interviewer schedule.
Candidate or interviewer can reject their schedule but they have to write reasons for that rejection.
After each Interview schedule, interviewers need to write reports for each candidate. HR Manager will base on that to give a final decision.
- Department: Manage job postings (View/Create/Delete)
- Candidate: View Job Postings/Post Details, Apply job, View job applications, View schedules, Accepct/Deny interview schedule, ...
- HR Employee: Manage job postings (View/Accept,Deny/End), Manage job application(Evaluate CV, schedule,...), Manage interview schedule(Create,Start,...)
- Interviewer: Manage schedule (Accepct,Deny,End), Manage Report(Write/Edit Reports)
- HR Manager: View job applications, Make a final decisions(based on CV,reports)
- To run this project, you should use Netbeans IDE (version 8.2 or higher) to run. You need to find the way to config this project before using.
- You must install maven
https://phoenixnap.com/kb/install-maven-windows
- You must install Tomact server
https://tomcat.apache.org/
and set server port to 8080 - After open project, you should build project to install all dependecies
- Set up database by running the
Database.sql
file (Note that MS SQL Server is used for this project) - Follow this path of project:
WebProject/src/main/java/com/codeweb/configs/HibernateConfig.java
to change username and password for connecting to database (Note that port 1433 is used for connection)
- Install suitable driver for the DBMS from
https://mvnrepository.com/
by adding dependency to file pom.xml and build again project - Follow this path of project:
WebProject/src/main/java/com/codeweb/configs/HibernateConfig.java
to set up new DriverClassName, url and Dialect for connection
- For department: enter email and password
Password | Department | |
---|---|---|
Marketing@gmail.com | 123 | MARKETING |
ITech@gmail.com | 123 | Information Technology |
Ketoan@gmail.com | 123 | Ke Toan |
- For Canidates: use email (if new, system will auto register your account)
- For Employee: use email (you need add your email from database before login)
We build this web app following 3 layer achirtechture