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

https://github.com/sanketghosh/findevs

A job board tailored for developers, offering curated listings, advanced filters, and seamless application management for developers.
https://github.com/sanketghosh/findevs

bun nextjs postgresql prisma shadcn-ui tailwindcss typescript

Last synced: 2 months ago
JSON representation

A job board tailored for developers, offering curated listings, advanced filters, and seamless application management for developers.

Awesome Lists containing this project

README

          


findevs

Findevs is a developer-focused job board connecting tech talent with companies, offering curated job listings, advanced filters, and seamless application management.


---





Project Banner



---


nextjs logo

react logo

typescript logo

tailwindcss logo

postgresql logo

prisma logo





Project Banner



###

## Table of Contents

1. [Introduction](#introduction)
2. [Tech Stack](#tech-stack)
3. [Features](#features)
4. [Quick Start](#quick-start)

## Introduction

**Findevs** is a specialized job board designed exclusively for developers. It bridges the gap between talented developers and companies looking for skilled professionals. Whether you're a developer searching for your next opportunity or a company seeking top-tier tech talent, Findevs provides a streamlined platform tailored to the tech industry.

Findevs leverages the power of **Next.js** for lightning-fast performance and seamless navigation, while **Bun** and **PostgreSQL** provide a robust backend to manage job postings and applications. The app's modern design, powered by **Shadcn UI** and **TailwindCSS**, ensures an intuitive and developer-friendly user experience.

## Tech Stack

- **Framework**: Next.js, TypeScript, TailwindCSS, Shadcn UI
- **Database**: PostgreSQL
- **Authentication**: BetterAuth
- **ORM**: Prisma
- **Deployment**: Vercel (Frontend), Bun (Backend)

## Features

- **Developer-Focused Job Listings**: A curated platform exclusively for developer roles, including full-time, freelance, and remote opportunities.
- **Advanced Search and Filters**: Search for jobs based on programming languages, frameworks, experience levels, and more.
- **Job Posting for Employers**: Employers can post job openings with detailed descriptions, requirements, and company details.
- **Responsive Design**: Optimized for all devices to ensure seamless job browsing and posting, whether on desktop or mobile.
- **User Authentication**: Secure sign-up and login using industry-standard authentication methods.
- **Job Application Management**: Track job applications easily with a user-friendly dashboard.
- **Bookmark Jobs**: Save favorite job postings to revisit them later.
- **Scalability**: Designed to handle a large volume of job listings and user traffic effortlessly.
- **Admin Panel**: Manage job approves, rejection, deletion etc.

## Quick Start

Follow these steps to set up the project locally on your machine.

**Prerequisites**

Make sure you have the following installed on your machine:

- [Git](https://git-scm.com/)
- [Bun](https://bun.sh/)
- [PostgreSQL](https://www.postgresql.org/)

**Cloning the Repository**

```bash
git clone https://github.com/sanketghosh/findevs.git
cd findevs
```

**Installing Dependencies**

Install all the project dependencies using Bun:

```bash
bun install
```

**Setup environment variables**
Create a new file named `.env` in the root directory and add the following content:

```bash
DATABASE_URL=postgresql://:@localhost:5432/findevs
BETTER_AUTH_SECRET=
BETTER_AUTH_URL=http://localhost:3000
```

Generate a key using this command:

```bash
openssl rand -hex 64
```

**Prisma Setup and Schema Migration**

Run the following commands to initialize the database and apply schema migrations:

```bash
bun prisma generate
bun prisma migrate dev --name init
```

To visualize and edit your data, you can use Prisma Studio:

```bash
bun prisma studio
```

**Running the Application**
Start the development server:

```bash
bun run dev
```

Open `http://localhost:3000` in your browser to view the project.

Your application is now up and running!