An open API service indexing awesome lists of open source software.

https://github.com/akhil07-ctrl/jobby-app

Jobby App is a React-based job search platform that allows users to browse, search, and filter job listings. The application features user authentication, detailed job views with company information and skill requirements, and the ability to filter jobs by employment type, salary range, and location. It also provides a responsive interface.
https://github.com/akhil07-ctrl/jobby-app

js-cookie protected-routes react-icons react-router-dom usenavigate-hook

Last synced: 8 months ago
JSON representation

Jobby App is a React-based job search platform that allows users to browse, search, and filter job listings. The application features user authentication, detailed job views with company information and skill requirements, and the ability to filter jobs by employment type, salary range, and location. It also provides a responsive interface.

Awesome Lists containing this project

README

          

# Jobby App

A modern job search application built with React that helps users find jobs that fit their skills and career goals.

## ๐Ÿš€ Live Demo

Check out the live demo: [Jobby App](https://jobby-app-silk.vercel.app/)

## โœจ Features

- **User Authentication**: Secure login system with protected routes
- **Job Search**: Browse and search through available job listings
- **Job Filtering**: Filter jobs by various criteria (employment type, salary range, etc.)
- **Job Details**: View detailed information about specific job positions
- **Responsive Design**: Optimized for both desktop and mobile devices
- **User Profile**: View and manage user profile information

## ๐Ÿ› ๏ธ Tech Stack

- **Frontend**: React 18.2.0
- **Routing**: React Router DOM 6.20.0
- **Icons**: React Icons 4.12.0
- **Styling**: CSS3
- **State Management**: React Hooks
- **Authentication**: Cookie-based authentication with js-cookie
- **Testing**: React Testing Library & Jest

## ๐Ÿ“‹ Prerequisites

Before running this application, make sure you have:

- Node.js (>= 20.0.0)
- npm (>= 8.0.0)

## ๐Ÿ”ง Installation

1. Clone the repository:
```bash
git clone
cd "Jobby App/client"
```

2. Install dependencies:
```bash
npm install
```

## ๐Ÿš€ Available Scripts

### `npm start`
Runs the app in development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in your browser.

The page will reload when you make changes.\
You may also see any lint errors in the console.

### `npm test`
Launches the test runner in interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

### `npm run build`
Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.

### `npm run deploy`
Deploys the application to GitHub Pages after building it.

## ๐Ÿ“ Project Structure

```
client/
โ”œโ”€โ”€ public/
โ”‚ โ”œโ”€โ”€ index.html
โ”‚ โ”œโ”€โ”€ manifest.json
โ”‚ โ””โ”€โ”€ robots.txt
โ”œโ”€โ”€ src/
โ”‚ โ”œโ”€โ”€ components/
โ”‚ โ”‚ โ”œโ”€โ”€ FiltersGroup/
โ”‚ โ”‚ โ”œโ”€โ”€ Header/
โ”‚ โ”‚ โ”œโ”€โ”€ Home/
โ”‚ โ”‚ โ”œโ”€โ”€ JobCard/
โ”‚ โ”‚ โ”œโ”€โ”€ JobItemDetails/
โ”‚ โ”‚ โ”œโ”€โ”€ Jobs/
โ”‚ โ”‚ โ”œโ”€โ”€ Login/
โ”‚ โ”‚ โ”œโ”€โ”€ NotFound/
โ”‚ โ”‚ โ”œโ”€โ”€ ProfileDetails/
โ”‚ โ”‚ โ”œโ”€โ”€ ProtectedRoute/
โ”‚ โ”‚ โ”œโ”€โ”€ SimilarJobCard/
โ”‚ โ”‚ โ””โ”€โ”€ SkillsCard/
โ”‚ โ”œโ”€โ”€ App.js
โ”‚ โ”œโ”€โ”€ App.css
โ”‚ โ”œโ”€โ”€ index.js
โ”‚ โ””โ”€โ”€ index.css
โ”œโ”€โ”€ package.json
โ””โ”€โ”€ README.md
```

## ๐Ÿ” Authentication

The application uses a protected route system where:
- Users must log in to access job listings and details
- Authentication state is managed using cookies
- Unauthenticated users are redirected to the login page

## ๐ŸŽฏ Usage

1. **Login**: Start by logging into the application
2. **Home Page**: View the welcome page with a call-to-action to find jobs
3. **Jobs Page**: Browse through available job listings with filtering options
4. **Job Details**: Click on any job to view detailed information
5. **Profile**: Access your profile information through the header

## ๐ŸŒ Deployment

The application is configured for deployment on GitHub Pages. Use the following command to deploy:

```bash
npm run deploy
```

## ๐Ÿงช Testing

Run the test suite with:

```bash
npm test
```

The project includes comprehensive testing with React Testing Library and Jest.

## ๐Ÿ“ฑ Browser Support

- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)

## ๐Ÿค Contributing

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## ๐Ÿง‘โ€๐Ÿ’ป Author

- **Kundena Akhil** - [Portfolio](https://portfolio-nine-flax-29.vercel.app/) - [GitHub](https://github.com/Akhil07-ctrl) - [LinkedIn](https://www.linkedin.com/in/kundena-akhil-4b7073170/)

## ๐Ÿ“„ License

This project is licensed under the MIT License.

## ๐Ÿ”— Learn More

- [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started)
- [React documentation](https://reactjs.org/)
- [React Router documentation](https://reactrouter.com/)