Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samarjiit/job_portal
Full Stack React JS Project ( Job Portal )
https://github.com/samarjiit/job_portal
clerk shadcn-ui supabase tailwind
Last synced: about 1 month ago
JSON representation
Full Stack React JS Project ( Job Portal )
- Host: GitHub
- URL: https://github.com/samarjiit/job_portal
- Owner: Samarjiit
- Created: 2024-08-20T17:46:42.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-08-29T09:47:30.000Z (3 months ago)
- Last Synced: 2024-09-27T00:43:31.092Z (about 2 months ago)
- Topics: clerk, shadcn-ui, supabase, tailwind
- Language: JavaScript
- Homepage: https://job-portal-hazel-eight.vercel.app/
- Size: 801 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Full Stack Job Portal
This is a Full Stack Job Portal built using React JS, Tailwind CSS, Supabase, Clerk Authentication, and Shadcn UI. The project showcases a modern, responsive, and feature-rich job portal, demonstrating a comprehensive skill set in full-stack development.
## Features
- **User Authentication**: Secure authentication system using Clerk.
- **Supabase Integration**: Data management and backend services handled by Supabase.
- **Shadcn UI Components**: Utilized Shadcn UI for a consistent and sleek user interface.
- **Responsive Design**: Styled with Tailwind CSS to ensure mobile responsiveness and ease of use.
- **Job Listings**: Users can view, search, and filter job listings.
- **Save/Unsave Jobs**: Users can save jobs for later reference.
- **Job Applications**: Users can apply for jobs and track their application status.
- **User Onboarding**: New users are guided through an onboarding process.
- **Company Management**: Employers can add new companies and post jobs.
- **Application Management**: Users can view their applications, and employers can track applicants.
- **Protected Routes**: Ensured route protection based on user authentication.
- **Deployment**: Deployed on a suitable hosting platform for public access.## Technologies Used
- **Frontend**: React JS, Tailwind CSS, Shadcn UI
- **Backend**: Supabase
- **Authentication**: Clerk
- **State Management**: React Hook Form, Zod
- **Custom Hooks**: Created for data fetching and other reusable functionalities## Database Schema
Below is the database schema used in the project:
![Database Schema](https://github.com/Samarjiit/job_portal/blob/main/public/database.png)
## Setup and Installation
To get the project running locally, follow these steps:
1. **Clone the Repository**
\```bash
git clone https://github.com/Samarjiit/job_portal.git
cd job_portal
\```2. **Install Dependencies**
Make sure you have [Node.js](https://nodejs.org/) installed, then run:
\```bash
npm install
\```3. **Set Up Supabase**
- Create a project on [Supabase](https://supabase.com/).
- Retrieve your Supabase API URL and Key from the Supabase dashboard.
- Create the required tables in Supabase as per the data schema.
- Add these details to your environment variables.4. **Set Up Clerk Authentication**
- Create an account on [Clerk](https://clerk.dev/).
- Set up the authentication configuration as per your needs.
- Add Clerk credentials to your environment variables.5. **Environment Variables**
Create a `.env` file in the root directory and add the following:
\```bash
REACT_APP_SUPABASE_URL=
REACT_APP_SUPABASE_KEY=
REACT_APP_CLERK_FRONTEND_API=
REACT_APP_CLERK_API_KEY=
\```6. **Run the Application**
Start the development server:
\```bash
npm start
\```The application will run on `http://localhost:3000`.
## Deployment
To deploy the application:
1. Build the application:
\```bash
npm run build
\```2. Deploy the build to your preferred hosting platform.