An open-source, full-stack job application tracking platform built for structured career management, Kanban application pipeline tracking, Gemini AI career coaching, and productivity-focused analytics.
π Live Production App: https://job-trackerr.vercel.app
Designed as a high-performance personal career operating system β not just a standard CRUD dashboard.
When you clone and run this project for the first time, you don't need to manually create companies, job applications, or target roles!
The backend automatically seeds the database on initial startup with:
- π’ 12 Top Tech Companies: Google, Microsoft, Shopify, Vercel, Stripe, Meta, Amazon, Netflix, Datadog, Uber, Airbnb, Figma.
- π 12 Realistic Showcase Job Applications: Pre-populated with salary ranges, locations, statuses (Saved, Applied, Interview, Offer, Rejected), follow-up reminders, and Markdown interview prep notes.
- π― 15 Modern Target Tech Roles: Senior Frontend Developer, Backend Engineer (.NET / Go), Fullstack Architect, Site Reliability Engineer, AI/ML Engineer, etc.
- π€ Clean Demo Profile: Accessible instantly via
demo@jobtracker.dev.
- Core Framework: React 19 + TypeScript + Vite 8
- Styling & Motion: TailwindCSS v4, Framer Motion (
framer-motion), Lenis Smooth Scroll (lenis),@formkit/auto-animate - State & Data Fetching: React Query (TanStack Query v5), Zustand
- Tooling & Test Runner: Bun, Vitest, Testing Library, Lucide Icons, Sonner Toasts, Recharts
- Core Framework: ASP.NET Core 10.0 Web API
- Database & ORM: PostgreSQL (Local / Neon Cloud) via Entity Framework Core 10
- Security & Auth: ASP.NET Core Identity, JWT Token Authentication, Rate Limiting, Security Headers
- Logging & Monitoring: Serilog Structured Logging, OpenAPI / Swagger
- Testing: xUnit, Moq, EF Core InMemory Provider
Make sure you have the following tools installed on your local machine:
- .NET 10.0 SDK
- Bun (
>= 1.1) or Node.js (>= 20.0) - PostgreSQL (or use Docker / Neon Cloud)
git clone https://github.com/maruf-pfc/job-tracker.git
cd job-tracker- Navigate to the API folder:
cd server/JobTracker.API - Set up your environment configuration in
appsettings.json(or use default local PostgreSQL connection string):"ConnectionStrings": { "DefaultConnection": "Host=localhost;Database=JobTrackerDb;Username=postgres;Password=postgres" }
- Restore dependencies and run the server:
dotnet restore dotnet run
π‘ Automatic Database Seeding: On startup, Entity Framework Core applies pending database migrations and executes
DbSeeder.cs, automatically seeding 12 top tech companies, 12 applications, 15 job roles, and the demo user!
- API Swagger Documentation:
http://localhost:5104/swagger
- Open a new terminal and navigate to the client directory:
cd client - Install dependencies with Bun:
bun install
- Launch the Vite development server:
bun run dev
- Open
http://localhost:5173in your browser!
Runs unit tests for services, controllers, JWT helpers, and database constraints using xUnit and EF Core InMemory provider:
cd server/JobTracker.API.Tests
dotnet testRuns client unit tests using Vitest and React Testing Library:
cd client
bun run testValidate client TypeScript compilation and Vite bundle production build:
cd client
bun run buildCreate or use .vscode/launch.json to attach to both server and client debugging instances:
{
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (API)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/server/JobTracker.API/bin/Debug/net10.0/JobTracker.API.dll",
"args": [],
"cwd": "${workspaceFolder}/server/JobTracker.API",
"stopAtEntry": false,
"serverReadyAction": {
"action": "openUrl",
"pattern": "\\bNow listening on:\\s+(https?://\\S+)",
"uriFormat": "%s/swagger"
}
}
]
}Run the full production stack (PostgreSQL, ASP.NET Core 10 Web API, Nginx Static Frontend) with a single command:
docker compose up --build -d- Frontend Web App:
http://localhost - Backend Web API:
http://localhost:8080 - PostgreSQL Database:
localhost:5432
To stop all containers:
docker compose downThis repository includes automated GitHub Actions workflows running on every push and pull request:
| Workflow | File | Description |
|---|---|---|
| Server CI | backend-ci.yml | Restores, builds, and executes 22 xUnit backend unit tests on .NET 10. |
| Client CI | frontend-ci.yml | Installs dependencies, runs 15 Vitest tests, and validates Vite production build with Bun. |
| Docker Compose CI | docker-ci.yml | Validates Dockerfile build environments for both frontend and backend. |
| CodeQL Advanced | codeql.yml | Automated security scanning for C# and JavaScript/TypeScript. |
Comprehensive architecture guides, database ER diagrams, REST API contracts, and troubleshooting records are available in the docs/ directory:
- π System Architecture & Design: Clean architecture layers, component diagrams, system overview.
- π Database Model & Schema: PostgreSQL ER Diagram, table constraints, indices, and UTC timestamp mappings.
- π REST API Specifications: Endpoints reference, request/response DTO schemas, JWT auth requirements.
- π Troubleshooting & Bug Fixes: Empirical root cause analysis and resolution log (FK 23503, UTC timestamps, JWT lifetime, seeding, query caching).
- π Deployment & Webhooks Guide: Docker Compose orchestration, Vercel monorepo settings, n8n / Discord / Telegram integrations.
We welcome open-source contributions! Follow these steps to contribute:
- Fork the Repository on GitHub.
- Create a Feature Branch:
git checkout -b feature/amazing-feature - Commit your Changes:
git commit -m "feat: add amazing feature" - Push to Branch:
git push origin feature/amazing-feature - Open a Pull Request against the
mainordevbranch.
π Security Notice: Please ensure no personal credentials, API keys, or hardcoded sensitive data are included in your contributions.
This project is licensed under the MIT License.