A modern, intuitive web application to streamline your job search journey. Organize, track, and manage all your job applications in one beautiful Kanban board with real-time sync and secure authentication.
- 📋 Kanban Board - Drag-and-drop interface to organize applications through different stages (Applied, Reviewed, Interview, Offer, Rejected)
- 🔐 Secure Authentication - User registration and login with password hashing
- 💾 Real-time Sync - MongoDB-backed persistence with instant updates
- 👤 Personalized Dashboard - Custom job application boards for each user
- 📝 Rich Application Details - Track job titles, companies, positions, application dates, and more
- 🎨 Beautiful UI - Built with TailwindCSS and Radix UI components for a modern, responsive design
- ⚡ Lightning Fast - Next.js 16 with server-side rendering and optimal performance
- 📱 Fully Responsive - Works perfectly on desktop, tablet, and mobile devices
| Category | Technology |
|---|---|
| Frontend | Next.js 16, React 19, TailwindCSS |
| Backend | Next.js API Routes |
| Database | MongoDB with Mongoose ODM |
| Authentication | Better-Auth |
| UI Components | Radix UI, Lucide Icons |
| Drag & Drop | dnd-kit |
| Language | TypeScript |
- Node.js 18+
- npm or yarn package manager
- MongoDB instance (local or Atlas)
git clone https://github.com/arash-jj/job-application-tracker
cd job-application-trackernpm installCreate a .env.local file in the root directory:
# MongoDB Connection
MONGODB_URI=mongodb://localhost:27017/job-tracker
# Authentication (Better-Auth)
BETTER_AUTH_SECRET=your-secret-key-here
BETTER_AUTH_URL=http://localhost:3000
# Database
DB_NAME=job-trackernpm run devOpen http://localhost:3000 in your browser to see the application.
npm run seed:jobsjob-application-tracker/
├── app/ # Next.js App Router
│ ├── api/ # API routes
│ │ └── auth/ # Authentication endpoints
│ ├── dashboard/ # Dashboard page
│ ├── sign-in/ # Login page
│ ├── sign-up/ # Registration page
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home/Landing page
├── components/ # React components
│ ├── CreateJobApplicationDialog.tsx
│ ├── JobApplicationCard.tsx
│ ├── KanbanBoard.tsx # Main Kanban component
│ ├── Navbar.tsx
│ └── ui/ # Radix UI components
├── lib/
│ ├── db.ts # Database connection
│ ├── auth/ # Authentication logic
│ ├── actions/ # Server actions
│ ├── models/ # Data models
│ └── hooks/ # Custom React hooks
├── public/ # Static assets
├── scripts/ # Utility scripts
└── package.json # Dependencies
- Sign Up - Create a new account or sign in
- Access Dashboard - View your personalized job application board
- Add Applications - Click to create new job applications
- Organize - Drag and drop applications between columns to track progress
- Track Updates - Keep tabs on all your job opportunities
| Command | Description |
|---|---|
npm run dev |
Start development server on port 3000 |
npm run build |
Build for production |
npm start |
Start production server |
npm run lint |
Run ESLint checks |
npm run seed:jobs |
Seed database with sample job data |
- Job Title
- Company Name
- Position Level
- Application Date
- Status (Applied, Reviewed, Interview, Offer, Rejected)
- Application Link
- Notes
- User-specific board
- Multiple columns for status tracking
- Real-time synchronization
The project uses a combination of custom components and Radix UI:
- Buttons with variants
- Dialog modals
- Dropdown menus
- Tabs
- Input fields
- Avatar displays
- Cards and layouts
Powered by Better-Auth, the application provides:
- Secure user registration
- Password hashing and validation
- Session management
- Protected routes
- Email notifications for application updates
- Resume upload and management
- Interview reminders and scheduling
- Statistics dashboard with job market insights
- Export applications to CSV
- Team collaboration features
- Dark mode support
- Mobile app
Contributions are welcome! Feel free to submit issues or pull requests.
- Stay Organized - Use the Kanban board to never miss a follow-up
- Track Everything - Log all applications with detailed notes
- Monitor Progress - Regularly update application statuses
- Follow Up - Set reminders and don't lose track of opportunities
Built with ❤️ to help you land your dream job!