A comprehensive job application tracking system built with modern web technologies to help job seekers organize their search process and visualize career progress.
- Overview
- Features
- Tech Stack
- Installation
- Usage
- Project Structure
- Database Schema
- Authentication
- Development Roadmap
- Contributing
- License
The Job Application Tracker is a full-stack web application designed to streamline the job search process. It provides job seekers with a centralized platform to manage applications, track progress, and visualize their career journey through interactive dashboards and real-time analytics.
- Organization: Centralize all job applications in one secure platform
- Visualization: Provide clear insights into application progress and success rates
- Efficiency: Reduce time spent managing job search activities
- Security: Ensure user data privacy with enterprise-level security measures
- ๐ Secure Authentication: Email/password login with session management
- ๐ Interactive Dashboard: Real-time statistics and application analytics
- ๐ Application Management: Full CRUD operations for job applications
- ๐จ Modern UI/UX: Responsive design with smooth animations
- ๐ Data Privacy: User-specific data isolation with RLS policies
- ๐ฑ Responsive Design: Optimized for desktop, tablet, and mobile devices
- Applied - Initial application submitted
- Interview - Interview process in progress
- Offer - Job offer received
- Rejected - Application declined
- Total applications count
- Applications by status
- Response rate metrics
- Timeline visualization
- React 18 - Component-based UI framework
- TypeScript - Type-safe JavaScript development
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Animation and interaction library
- Lucide React - Modern icon library
- Vite - Fast build tool and development server
- Supabase - Backend-as-a-Service platform
- PostgreSQL - Relational database with advanced features
- Row Level Security (RLS) - Database-level access control
- Real-time Subscriptions - Live data synchronization
- ESLint - Code quality and consistency
- Git - Version control system
- VS Code - Development environment
- โ Frontend application with React 18 and TypeScript
- โ Supabase integration with authentication
- โ Basic CRUD operations and dashboard
- ๐ UI/UX enhancements and animations
- ๐ Node.js Backend: Custom server implementation
- ๐ MongoDB Integration: NoSQL database migration
- ๐ JWT Authentication: Custom auth system
- ๐ RESTful API: Comprehensive endpoint design
- ๐ฑ React Native CLI: Cross-platform mobile app
- ๐ฑ Offline Support: Local data caching
- ๐ฑ Push Notifications: Application reminders
- ๐ฑ Biometric Authentication: Enhanced security
- ๐ค AI Integration: Job matching recommendations
- ๐ Advanced Analytics: Detailed progress insights
- ๐ API Integrations: Job board connections
- ๐ฅ Social Features: Application sharing and networking
- Node.js (v18 or higher)
- npm or yarn package manager
- Git for version control
-
Clone the repository
git clone https://github.com/RachitSinghh/tracker.git cd tracker -
Install dependencies
npm install
-
Environment Configuration
cp .env.example .env
Update
.envwith your Supabase credentials:VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Database Setup
- Create a Supabase project
- Run the SQL migrations from
supabase/migrations/ - Enable Row Level Security policies
-
Start Development Server
npm run dev
-
Open Application Navigate to
http://localhost:5173in your browser
tracker/
โโโ public/
โ โโโ vite.svg
โโโ src/
โ โโโ components/
โ โ โโโ ui/
โ โ โ โโโ pointer-highlight.tsx
โ โ โโโ ApplicationForm.tsx
โ โ โโโ ApplicationTable.tsx
โ โ โโโ CelebrationModal.tsx
โ โ โโโ Dashboard.tsx
โ โ โโโ LandingPage.tsx
โ โ โโโ LoginForm.tsx
โ โ โโโ SignUpForm.tsx
โ โโโ contexts/
โ โ โโโ AuthContext.tsx
โ โโโ lib/
โ โ โโโ supabase.ts
โ โ โโโ utils.ts
โ โโโ App.tsx
โ โโโ main.tsx
โ โโโ index.css
โโโ supabase/
โ โโโ migrations/
โ โโโ 20251010175519_create_job_applications_table.sql
โ โโโ 20251010180512_add_user_id_to_applications.sql
โโโ package.json
โโโ tailwind.config.js
โโโ vite.config.ts
โโโ README.md
CREATE TABLE job_applications (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
company text NOT NULL,
position text NOT NULL,
status text NOT NULL DEFAULT 'Applied',
apply_date date NOT NULL DEFAULT CURRENT_DATE,
response_date date,
job_url text,
reason text,
user_id uuid REFERENCES auth.users(id) ON DELETE CASCADE,
created_at timestamptz DEFAULT now(),
updated_at timestamptz DEFAULT now()
);- Users can only view their own applications
- Users can only create applications linked to their account
- Users can only update/delete their own applications
The application implements secure authentication using Supabase Auth:
- Email/Password Registration: Standard signup flow
- Session Management: Persistent login across browser sessions
- Protected Routes: Dashboard access requires authentication
- Row Level Security: Database-level access control
- User registers with email and password
- Supabase creates user account and session
- User is redirected to dashboard
- All subsequent requests include session token
- Database queries are filtered by user ID automatically
- Modern Dark Theme: Sleek, professional appearance
- Responsive Layout: Works on all device sizes
- Smooth Animations: Framer Motion for delightful interactions
- Accessibility: WCAG compliance for inclusive design
- Performance: Optimized for fast loading and smooth interactions
- Landing Page: Hero section with animated text effects
- Authentication Modals: Clean, user-friendly forms
- Dashboard: Statistics cards and application table
- Application Forms: Comprehensive data entry with validation
We welcome contributions to improve the Job Application Tracker! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes with proper testing
- Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style and conventions
- Write clear, descriptive commit messages
- Add tests for new functionality
- Update documentation as needed
- Ensure all tests pass before submitting PR
# Development
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
# Code Quality
npm run lint # Run ESLint
npm run typecheck # Run TypeScript compiler check
# Testing (Coming Soon)
npm test # Run test suite
npm run test:coverage # Run tests with coverage- Custom Logic: Tailored business logic implementation
- Performance: Optimized database queries and caching
- Scalability: Better handling of increased user load
- Integration: Easier third-party service connections
- Offline Mode: Work without internet connection
- Push Notifications: Never miss important deadlines
- Camera Integration: Scan and store job posting images
- Location Services: Track applications by geographic area
This project is licensed under the MIT License - see the LICENSE file for details.
Rachit Singh
- GitHub: @RachitSinghh
- LinkedIn: [Your LinkedIn Profile]
- Email: [Your Email]
- Supabase for providing excellent Backend-as-a-Service
- Tailwind CSS for the utility-first CSS framework
- Framer Motion for smooth animations
- Lucide for beautiful icons
- The open-source community for inspiration and resources
Made with โค๏ธ for job seekers everywhere
Last updated: October 2025