This README provides an in-depth overview of the Job Search Application. It covers the application's functionalities, how to set it up locally, access the deployed version, the API used, key components, and the implemented debouncing functionality.
- Introduction
- Functionalities
- Deployed Application
- API
- Key Components
- Debouncing Functionality
- Local Setup
- Contributors
- screenshots
The Job Search Application is a React-based web application that facilitates users in searching for job opportunities. Users can sign up, log in, explore job listings, view detailed job information, and apply for jobs. The application utilizes Redux for state management and communicates with an API to fetch job data.
Allows users to create an account by providing a username, email, and password.
Registered users can log in using their username and password.
Enables users to search for jobs based on a job title, view job details, and apply for jobs.
Users can view detailed information about a specific job.
Users can apply for a job by providing their name, email, cover letter, and uploading a resume (PDF, DOCX).
The application is deployed and can be accessed at Job Search App.
The application fetches job data from the following API endpoint:
- Signup Component (
Signup.jsx
): Allows users to sign up by providing necessary information. - Login Component (
Login.jsx
): Enables registered users to log in. - User Dashboard Component (
User.jsx
): Displays job search and job information. - Job Details Component (
Info.jsx
): Provides detailed information about a specific job and allows users to apply for the job. - Redux Actions (
actions
directory): Contains actions to apply for a job and update application data. - Redux Reducers (
reducer
directory): Contains reducers for application data, authentication, and job-related actions. - Redux Store Configuration (
store.js
): Configures the Redux store and combines reducers. - Routing (
AllRoutes.jsx
): Defines application routes using React Router. - Main Entry Point (
index.js
): Renders the main application component and sets up Redux store.
Debouncing has been implemented for the job title search input to improve user experience and optimize API calls. The debouncing technique delays the API call until the user stops typing for a specified period, reducing the number of unnecessary API requests.
To run the application locally, follow these steps:
- Clone the repository.
- Install dependencies using
npm install
. - Start the application using
npm start
.
Signup Page
Login Page
Job Details Page
Form for details
Application Details With Resume