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.
- Host: GitHub
- URL: https://github.com/wiseweb-works/job-application-tracker
- Owner: wiseweb-works
- License: mit
- Created: 2026-02-14T16:26:21.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2026-06-20T10:06:22.000Z (4 days ago)
- Last Synced: 2026-06-20T12:08:44.021Z (4 days ago)
- Topics: fullstack, nextjs-16, prisma-orm, react-19, server-actions, shadcn-ui, sqlite, tailwindcss-4, typescript
- Language: Python
- Homepage: https://job-application-tracker-steel.vercel.app
- Size: 940 KB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Job Application Tracker

[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
```