- Authentication (OAuth via Google, Facebook, or GitHub)
- Guest user and authenticated user can read all job vacancies
- Every authenticated user can also see the detailed job vacancy before applying for that job
- Every authenticated user have to upload resume with max size 5 MB before applying the job vacancy
- Every authenticated user can apply for a job (after submitting a resume and the status changed)
- Every authenticated user can see the job vacancy that he/she had already applied before
- Every authenticated user can create a new job
- Every authenticated user can delete a job if the user feels the number of applicants is sufficient
- Every authenticated user can see the job vacancy that he/she had already created before
- Every authenticated user can edit the detail job that he/she had already created before
- Every authenticated user can see people who applied for the job that he/she had already created before
- Every authenticated user who has already created a job vacancy can view applicants uploaded resumes
- Every authenticated user who has already created a job vacancy can edit the status of the applicant’s uploaded resume
- NextJS
- TypeScript
- Chakra UI
- Firebase
- Formik
- Yup
- Apollo Client
- Hasura
- React Hot Toast
- React Paginate