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

https://github.com/wiseweb-works/job-application-tracker

A production-ready Job Application Tracker built entirely by AI to test the limits of agentic coding. Features Next.js 16, React 19, Prisma 6, and Tailwind CSS 4.
https://github.com/wiseweb-works/job-application-tracker

fullstack nextjs-16 prisma-orm react-19 server-actions shadcn-ui sqlite tailwindcss-4 typescript

Last synced: about 9 hours ago
JSON representation

A production-ready Job Application Tracker built entirely by AI to test the limits of agentic coding. Features Next.js 16, React 19, Prisma 6, and Tailwind CSS 4.

Awesome Lists containing this project

README

          

# Job Application Tracker

![Project Preview](./project_preview.png?raw=true)

[Live Demo](https://job-application-tracker-steel.vercel.app/)

> โš ๏ธ **NOTE**: This project was developed entirely using Artificial Intelligence (AI). The purpose of this work is to test the limits of AI capabilities, explore its design choices, and compare AI-generated solutions with my own projects. The code integrity, quality, and coding style may differ from projects I have manually developed.

A production-quality Job Application Tracker built with modern web technologies including Next.js 16, Prisma, and Tailwind CSS 4.

## ๐Ÿš€ Features

- **Full CRUD Operations**: Create, view, update, and delete job applications.
- **Advanced Filtering**: Filter applications by status (Applied, Interview, Offer, Rejected, Ghosted).
- **Dynamic Sorting**: Sort applications by application date or company name (ascending/descending).
- **Search Functionality**: Real-time search by company name or job title.
- **Responsive UI**: Fully responsive design using shadcn/ui components.
- **Dark Mode**: Sleek dark mode interface enabled by default.
- **Type Safety**: End-to-end type safety with TypeScript and Zod validation.

## ๐Ÿ›  Tech Stack

### Frontend

- **Framework**: Next.js 16 (App Router)
- **State Management**: React 19 Hooks & Server Actions
- **Forms**: React Hook Form with Zod validation
- **Styling**: Tailwind CSS 4 & shadcn/ui
- **Icons**: Lucide React

### Backend & Database

- **Database**: SQLite (Local)
- **ORM**: Prisma 6
- **Validation**: Zod Schemas

### Testing & Quality

- **Unit Testing**: Vitest & React Testing Library
- **Linting**: ESLint with `eslint-plugin-unused-imports` for automated cleanup.

### Database Schema (ER Diagram)

Below is the visual representation of the `JobApplication` model used in the database via Prisma ORM:

```mermaid
erDiagram
JobApplication {
string id PK
string companyName
string jobTitle
string status
string location
string salaryRange
datetime applicationDate
string notes
datetime createdAt
datetime updatedAt
}
```

## ๐Ÿ“‚ Project Structure

- `app/`: Next.js App Router (Pages & Server Actions)
- `actions/`: Server actions for database operations.
- `applications/`: Application-specific routes and page logic.
- `components/`: Reusable UI components.
- `ui/`: Base shadcn/ui components.
- `applications/`: Feature-specific components (Form, List, Card, filters).
- `lib/`: Shared utilities and configurations.
- `repositories/`: Data access layer using Prisma.
- `zod/`: Shared validation schemas.
- `tests/`: Unit and integration tests.
- `prisma/`: Database schema and migrations.

## ๐Ÿ›  Getting Started

### Prerequisites

- Node.js 20+
- pnpm 10+

### Installation

1. **Install dependencies**:

```bash
pnpm install
```

2. **Initialize the database**:

```bash
pnpm db:migrate
```

3. **Run the development server**:
```bash
pnpm dev
```
Open [http://localhost:3000](http://localhost:3000) in your browser.

## ๐Ÿ“œ Available Scripts

- `pnpm dev`: Starts the development server.
- `pnpm build`: Generates Prisma client and builds the Next.js application.
- `pnpm start`: Starts the production server.
- `pnpm lint`: Runs ESLint for code quality checks.
- `pnpm test`: Runs unit tests with Vitest.
- `pnpm db:migrate`: Creates and applies database migrations.
- `pnpm db:studio`: Opens Prisma Studio to view/edit data.

## ๐Ÿงช Testing

The project uses Vitest for unit testing server actions and schema validation.

```bash
# Run all tests
pnpm test

# Run tests in UI mode
pnpm test:ui
```