- 📝 Create and manage task lists
- ✅ Track task completion
- 🎯 Set due dates and deadlines
- 🌓 Light/Dark mode support
- 👤 User authentication
- 🔄 Real-time updates
- Frontend: Next.js 14
- Authentication: Firebase Auth
- Database: Firebase Firestore
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- State Management: React Context
- Date Handling: Moment.js
- Icons: Lucide Icons
npm install
Create a .env.local
file with the following Firebase configuration:
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
npm run dev
- app: Next.js app router pages
- components: Reusable React components
- context: React context providers
- lib: Utility functions
- public: Static assets
- User registration with email and password
- Login functionality
- Protected routes
- Create new task lists
- Add tasks with titles and due dates
- Mark tasks as complete
- Delete task lists
- Real-time updates for task status
- Responsive design
- Theme switching (light/dark mode)
- Toast notifications
- Loading states
- Emoji picker for task lists
npm run dev
- Start development servernpm run build
- Build production bundlenpm run start
- Start production servernpm run lint
- Run ESLint
Key packages used:
@radix-ui/*
- Accessible UI primitivesfirebase
- Backend and authenticationmoment
- Date manipulationnext-themes
- Theme managementsonner
- Toast notificationsuuid
- Unique ID generation
Private project - All rights reserved
- Add login functionality