Skip to content

per5ect/JobFinder-FrontEnd

Repository files navigation

JobFinder Front-End

GitHub repo size GitHub stars

Software Requirements Specification (SRS): https://github.com/per5ect/JobFinder-FrontEnd/blob/main/SRS%20JobFinder.pdf

Software Design Document (SDD): https://github.com/per5ect/JobFinder-FrontEnd/blob/main/SDD%20Jobfinder.pdf

Figma design: https://www.figma.com/design/CLQlBV5p9wejuXqliZ6CZE/JobFinder?node-id=0-1&t=nKr3H12D26vQ6Lv6-1

Description

JobFinder Front-End is a responsive and modern web application built with React, Vite, Tailwind CSS, Redux, and Axios. JobFinder helps companies find suitable candidates and users compare job openings based on resumes using artificial intelligence. Includes application administration

Features

  • 🔎 Search for jobs by keyword, location, or category
  • 🔗 Obtaining suitable vacancies by analyzing resumes
  • 📋 Filter and sort job listings
  • 📄 View detailed job descriptions
  • ⚡ Fast performance powered by Vite
  • 🎨 Responsive and customizable UI with Tailwind CSS
  • 🔗 Seamless API integration using Axios
  • 🔄 State management with Redux

Technologies Used

Usage

  • Open application in your browser.
  • Use the search bar to find jobs by keyword or location.
  • Apply filters to narrow down results.
  • Click on job listings to view detailed information.
  • Analyzing a resume
  • Obtaining suitable vacancies after analysis
  • Creation of vacancies by the firm
  • Administering the application by admin
image image image image image image

Project Structure

Directory structure:
└── per5ect-jobfinder-frontend/
    ├── README.md
    ├── eslint.config.js
    ├── index.html
    ├── package.json
    ├── vite.config.js
    ├── public/
    │   └── fonts/
    │       ├── KonkhmerSleokchher-Regular.ttf
    │       └── KosugiMaru-Regular.ttf
    └── src/
        ├── App.jsx
        ├── index.jsx
        ├── components/
        │   ├── admin-all-companies/
        │   │   ├── CompanyTableBody.jsx
        │   │   └── MainAllCompanies.jsx
        │   ├── admin-all-users/
        │   │   ├── MainAllUsers.jsx
        │   │   └── UserTableBody.jsx
        │   ├── admin-create-technology-page/
        │   │   ├── CreateForm.jsx
        │   │   ├── MainCreateTechnology.jsx
        │   │   └── SearchTechnologyForm.jsx
        │   ├── admin-main-page/
        │   │   └── MainAdmin.jsx
        │   ├── all-vacancies-page/
        │   │   ├── MainAllVacancies.jsx
        │   │   └── VacancyFilterForm.jsx
        │   ├── analyze-cv-page/
        │   │   ├── AnalyzeMain.jsx
        │   │   ├── AnalyzeResultElement.jsx
        │   │   └── UploadElement.jsx
        │   ├── company-create-job/
        │   │   ├── JobOfferingsInput.jsx
        │   │   ├── JobRequirementsInput.jsx
        │   │   ├── MainCreateJob.jsx
        │   │   └── SearchTechnologyCompany.jsx
        │   ├── company-login-page/
        │   │   └── MainCompanyLogin.jsx
        │   ├── company-main-page/
        │   │   └── MainForCompany.jsx
        │   ├── company-register-page/
        │   │   └── MainCompanyRegister.jsx
        │   ├── company-vacancies-page/
        │   │   └── MainCompanyVacancies.jsx
        │   ├── company-verify-page/
        │   │   └── MainCompanyVerify.jsx
        │   ├── Global/
        │   │   ├── AdminTableElement.jsx
        │   │   ├── Footer.jsx
        │   │   ├── Layout.jsx
        │   │   ├── Loader.jsx
        │   │   ├── VacancyElement.jsx
        │   │   └── Header/
        │   │       ├── AdminDropdownMenu.jsx
        │   │       ├── CompanyDropdownMenu.jsx
        │   │       ├── DropdownElement.jsx
        │   │       ├── GuestCompanyHeader.jsx
        │   │       ├── Header.jsx
        │   │       ├── HeaderAdminElement.jsx
        │   │       ├── HeaderCompanyElement.jsx
        │   │       ├── HeaderGuestElement.jsx
        │   │       ├── HeaderUserElement.jsx
        │   │       └── UserDropdownMenu.jsx
        │   ├── job-applications-page/
        │   │   ├── MainJobApplications.jsx
        │   │   └── TableApplicationsElement.jsx
        │   ├── main-public-users/
        │   │   ├── FIndJobElement.jsx
        │   │   ├── HowItWorksElement.jsx
        │   │   ├── MainPublicForUsers.jsx
        │   │   └── UploadStartButtonsElement.jsx
        │   ├── my-account/
        │   │   ├── CompanyAcconut.jsx
        │   │   ├── CompanyInformationForm.jsx
        │   │   ├── CompanyLoginDetailsForm.jsx
        │   │   ├── CvDetailsForm.jsx
        │   │   ├── MainMyAccount.jsx
        │   │   ├── MainUserCvDetails.jsx
        │   │   ├── UserAccount.jsx
        │   │   ├── UserLoginDetailsForm.jsx
        │   │   ├── UserPersonalnformationForm.jsx
        │   │   └── hooks/
        │   │       ├── useCompanyAccount.js
        │   │       ├── useCvDetails.js
        │   │       ├── useMyAccount.jsx
        │   │       ├── useUserAccount.js
        │   │       └── useUserPersonalInformationForm.js
        │   ├── user-applications/
        │   │   ├── MainUserApplications.jsx
        │   │   └── TableUesrApplicationsElement.jsx
        │   ├── user-favorite-vacancies/
        │   │   └── MainUserFavoriteVacancies.jsx
        │   ├── user-login-page/
        │   │   └── MainUserLogIn.jsx
        │   ├── user-register-page/
        │   │   └── MainUserRegister.jsx
        │   ├── user-suitable-vacancies/
        │   │   └── MainSuitableVacancies.jsx
        │   ├── user-verify-page/
        │   │   └── MainUserVerify.jsx
        │   └── vacancy-details-page/
        │       ├── MainVacancyDetails.jsx
        │       ├── VacancyCompanyContacts.jsx
        │       ├── VacancyDetailsPanel.jsx
        │       ├── VacancyOfferings.jsx
        │       ├── VacancyRequirements.jsx
        │       └── VacancyTechnologyListElement.jsx
        ├── pages/
        │   ├── MyAccountPage.jsx
        │   ├── admin/
        │   │   ├── AdminAllCompaniesPage.jsx
        │   │   ├── AdminAllUsersPage.jsx
        │   │   ├── AdminHomePage.jsx
        │   │   └── CreateTechnologyPage.jsx
        │   ├── Company/
        │   │   ├── CompanyCreateJobPage.jsx
        │   │   ├── CompanyJobApplicationsPage.jsx
        │   │   └── CompanyVacanciesPage.jsx
        │   ├── public/
        │   │   ├── AllVacanciesPage.jsx
        │   │   ├── CompanyLoginPage.jsx
        │   │   ├── CompanyRegisterPage.jsx
        │   │   ├── CompanyVerifyPage.jsx
        │   │   ├── MainForCompanyPage.jsx
        │   │   ├── MainForUserPage.jsx
        │   │   ├── UserLoginPage.jsx
        │   │   ├── UserRegisterPage.jsx
        │   │   ├── UserVerifyPage.jsx
        │   │   └── VacancyPage.jsx
        │   └── user/
        │       ├── AnalyzePage.jsx
        │       ├── UserApplicationsPage.jsx
        │       ├── UserCvDetailsPage.jsx
        │       ├── UserFavoriteVacanciesPage.jsx
        │       └── UserSuitableVacanciesPage.jsx
        ├── router/
        │   ├── AdminProtectedRoutes.jsx
        │   ├── CompanyProtectedRoutes.jsx
        │   ├── MyAccountProtectedRoutes.jsx
        │   └── UserProtectedRoutes.jsx
        ├── services/
        │   ├── adminService.js
        │   ├── authenticationService.js
        │   ├── companyService.js
        │   ├── publicService.js
        │   └── userService.js
        ├── store/
        │   ├── favoriteVacanciesSlice.js
        │   └── store.js
        ├── styles/
        │   └── index.css
        └── utils/
            └── jwtDecode.js

About

Front-End for JobFinder web application

Topics

Resources

Stars

Watchers

Forks