Skip to content

A front-end web app for posting and viewing jobs using React.

Notifications You must be signed in to change notification settings

MalakSadek/JobFolio

Repository files navigation

JobFolio

JobFolio is a front-end web application that displays and manages job postings. It is made using React and TailwindCSS. I made this to refresh my React knowledge, including hooks, props, components, wrapper components, routing, and data loaders. The project also uses several React libraries such as react-icons, react-toastify, react-spinners, and react-router-dom.

Features

  • A home screen displaying recent job postings pulled from a local development server (Vite)
  • A detailed job view showing a job's information when given its ID
  • Form-based screens for adding, updating, and deleting jobs utilising PUT, POST and DELETE requests as mock API calls to a local json-server

Screenshots

Screenshot of the homepage for JobFolio showing some recent jobs. Screenshot of a single job's details showing the role, type, description, salary, location, company name, company description, and contacts. Screenshot of a form for adding new jobs by entering all the relevant information.

Installation and Running the Application

  1. Clone the repository:
    git clone https://github.com/YourUsername/JobFolio.git
    cd JobFolio
  2. Install dependencies:
    npm install
  3. Start the json-server (in one terminal):
    npm run server
  4. In a separate terminal, start the Vite development server:
    npm run preview
  5. Open your browser and navigate to the local address provided by Vite

Project Structure

💼 JobFolio
├─ README.md
├─ eslint.config.js
├─ index.html
├─ package-lock.json
├─ package.json
├─ postcss.config.js
├─ src
│  ├─ App.jsx
│  ├─ assets
│  │  └─ images
│  │     └─ logo.png
│  ├─ components
│  │  ├─ Card.jsx
│  │  ├─ Hero.jsx
│  │  ├─ HomeCards.jsx
│  │  ├─ JobListing.jsx
│  │  ├─ JobListings.jsx
│  │  ├─ Navbar.jsx
│  │  ├─ Spinner.jsx
│  │  └─ ViewAllJobs.jsx
│  ├─ index.css
│  ├─ jobs.json
│  ├─ layouts
│  │  └─ MainLayout.jsx
│  ├─ main.jsx
│  └─ pages
│     ├─ AddJobPage.jsx
│     ├─ EditJobPage.jsx
│     ├─ HomePage.jsx
│     ├─ JobPage.jsx
│     ├─ JobsPage.jsx
│     └─ NotFoundPage.jsx
├─ tailwind.config.js
└─ vite.config.js

©generated by Project Tree Generator

License

This project is licensed under the MIT License.

Contact

Author: Malak Sadek - Personal Website - Linkedin
Project Link: https://github.com/MalakSadek/JobFolio

About

A front-end web app for posting and viewing jobs using React.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages