A modern job application tracking system built with Next.js 15, Supabase, and shadcn/ui.
- 📝 Track job applications
- 🏢 Manage companies
- 📅 Set reminders
- 📊 View statistics
- 📁 Store documents
- 🔒 Secure authentication
- 🌙 Dark mode support
- 📱 Responsive design
- Framework: Next.js 15 (App Router)
- Database: Supabase
- Authentication: Supabase Auth
- UI Components: shadcn/ui
- Styling: Tailwind CSS
- State Management: React Context + Zustand
- Forms: react-hook-form + zod
- File Storage: Supabase Storage
- Analytics: Supabase Analytics
- Clone the repository:
git clone https://github.com/yourusername/carrier-app.git- Install dependencies:
npm install- Copy the environment variables:
cp .env.example .env.local-
Update the environment variables in
.env.localwith your Supabase credentials. -
Run the development server:
npm run devOpen http://localhost:3000 with your browser to see the result.
/app
├── (auth) # Authentication routes
├── (dashboard) # Protected dashboard routes
└── api # API routes
/components
├── ui # shadcn components
├── forms # Form components
├── dashboard # Dashboard specific components
└── shared # Shared components
/lib
├── utils # Utility functions
├── hooks # Custom hooks
└── constants # Constants and enums
/utils
└── supabase # Supabase client & types
/types # TypeScript types
/public # Static assets
- User signs up with email/password
- Email verification required
- Password reset flow available
- Protected routes in dashboard
- Session management
- Use TypeScript strict mode
- Follow the component structure
- Implement proper error handling
- Write self-documenting code
- Follow accessibility guidelines
- Optimize for performance
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.