Skip to content

Repository files navigation

πŸ“ Next.js Full-Stack Todo App

A modern, full-stack multi-user Todo List application built with Next.js App Router.
Users can securely manage their tasks with authentication, deadlines, filtering, and a clean dashboard UI.


πŸš€ Features

  • πŸ” Authentication (Signup / Login)
  • πŸ‘€ Multi-user support
  • βœ… CRUD operations (Create, Read, Update, Delete todos)
  • πŸ“… Set deadlines for tasks
  • πŸ“Š Dashboard stats:
    • Total Todos
    • Completed
    • Pending
    • Overdue
  • πŸ” Search todos by title
  • 🎯 Filter todos:
    • All
    • Completed
    • Pending
    • Overdue
  • ⚑ Server Actions (Next.js App Router)
  • 🧠 State management (Redux Toolkit)
  • 🎨 Responsive & modern UI

πŸ› οΈ Tech Stack

  • Framework: Next.js (App Router)
  • Language: TypeScript
  • Database: PostgreSQL
  • ORM: Drizzle ORM
  • Authentication: Better Auth
  • State Management: Redux Toolkit
  • Styling: Tailwind CSS

πŸ“‚ Project Structure

app/            # App Router pages & layouts
components/     # Reusable UI components
lib/            # Auth, utilities, helpers
db/             # Database config & schema (Drizzle)
store/          # State management
actions/         # Server actions (CRUD logic)

βš™οΈ Installation

1. Clone the repository

git clone https://github.com/umerzafar4598/nextjs-todo-list-app.git
cd nextjs-todo-list-app

2. Install dependencies

npm install
# or
yarn install
# or
pnpm install

πŸ”‘ Environment Variables

Create a .env file in the root directory:

DATABASE_URL=your_database_url
BETTER_AUTH_SECRET=your_secret
BETTER_AUTH_URL=http://localhost:3000

▢️ Run the Project

npm run dev

Open: http://localhost:3000


🧩 Key Concepts Used

  • Server Actions for backend logic
  • Session-based authentication
  • Database abstraction with Drizzle ORM
  • State synchronization between client & server
  • Modular and scalable folder structure

πŸš€ Deployment

You can deploy easily on:

  • Vercel (recommended)
  • Docker (optional)
npm run build
npm start

πŸ“Œ Future Improvements

  • πŸ”” Notifications for deadlines
  • πŸ“± Mobile optimization
  • 🧠 AI-based task suggestions
  • πŸ“Š Advanced analytics

🀝 Contributing

Contributions are welcome!

  1. Fork the repo
  2. Create a new branch
  3. Make your changes
  4. Submit a PR

πŸ“„ License

This project is licensed under the MIT License.


πŸ‘¨β€πŸ’» Author

Umer Zafar


⭐ If you like this project, don't forget to star the repo!

About

πŸš€ A modern, responsive full-stack todo application with deadline management, dark mode, and session-based authentication. Built with Nextjs, PostgreSQL, Drizzle-ORM, Better-Auth, Zod and Tailwind CSS.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages