This is a Todo List web application built with Next.js, React, and Firebase Firestore for realtime sync. It fully implements CRUD functionality, live updates, and advanced features like editing, filtering, and marking as complete.
- Add, edit, delete todos
- Mark as complete/incomplete
- Realtime sync via Firebase Firestore
- Filtering with live search
- Duplicate/empty prevention
- Built with TypeScript
- Next.js 14+
- React
- Firebase (Firestore)
- TypeScript
- Uses Firebase Firestore's realtime capabilities to keep todos in sync across clients.
- All CRUD operations are directly integrated with Firestore.
- Clean, accessible UI with keyboard support.
- Clone the repo
- Install dependencies (npm install)
- Rename .env.example to .env and paste your Firebase credentials there
- Run the dev server (npm run dev)
If you don’t have a Firebase project yet, follow these steps:
- Go to the Firebase Console
- Click “Add project” and follow the prompts to create a new project
- In your project dashboard, navigate to Project Settings (gear icon)
- Under Your apps, add a new web app
- Copy the Firebase config keys (
apiKey,authDomain,projectId, etc.) - Paste these values into your
.envfile with the corresponding environment variables - Create the database: navigate to Firestore Database and select Start in test mode
Total time spent on this project around: ~3 hours