Skip to content

Amanc77/taskflow-app

Repository files navigation

TaskFlow - Task Management App

TaskFlow is a Full-Stack Next.js Task Management Platform where users can sign up, log in, manage tasks, edit their profile, and log out securely.
It features JWT authentication, MongoDB integration, and a modern responsive UI built with Tailwind CSS and shadcn/ui.

πŸ”— Live Demo: https://taskflow-app-nu.vercel.app
πŸŽ₯ Video Demo: https://youtu.be/etYtdwYO5pQ


🧩 Features

  • User Authentication: Secure signup, login, and logout using JWT.
  • Task Management: Create, update, delete, and mark tasks as completed.
  • User Profile: View and update your name and bio.
  • Database Integration: MongoDB Atlas used for persistent storage.
  • Responsive Design: Built with Tailwind CSS and shadcn/ui.
  • Error Handling: Graceful API error handling and toast notifications.
  • Fully Deployed: Live on Vercel with serverless API routes.

πŸ› οΈ Tech Stack

Frontend:

  • Next.js (App Router)
  • TypeScript
  • Tailwind CSS
  • shadcn/ui
  • Redux Toolkit
  • Axios
  • Sonner (toast notifications)
  • Lucide React (icons)

Backend:

  • Next.js API Routes
  • Node.js
  • MongoDB (Mongoose)
  • JWT Authentication

Deployment:

  • Frontend & Backend β†’ Vercel
  • Database β†’ MongoDB Atlas

βš™οΈ Environment Variables

Create a .env file in the project root and add the following:

# Database
MONGODB_URI=your_mongodb_connection_string

# JWT Secret
JWT_SECRET=your_jwt_secret_key

# App URLs
NEXT_PUBLIC_API_URL=http://localhost:3000

πŸš€ Getting Started

1️⃣ Clone the Repository

git clone https://github.com/your-username/taskflow-app.git
cd taskflow-app

2️⃣ Install Dependencies

npm install

3️⃣ Run the App

npm run dev

Visit: http://localhost:3000


πŸ“‚ Folder Structure

TASKFLOW-APP
β”œβ”€β”€ app
β”‚   β”œβ”€β”€ api
β”‚   β”‚   β”œβ”€β”€ auth
β”‚   β”‚   β”‚   β”œβ”€β”€ login
β”‚   β”‚   β”‚   β”œβ”€β”€ register
β”‚   β”‚   β”‚   └── me
β”‚   β”‚   β”œβ”€β”€ tasks
β”‚   β”‚   β”‚   β”œβ”€β”€ create
β”‚   β”‚   β”‚   β”œβ”€β”€ update
β”‚   β”‚   β”‚   └── delete
β”‚   β”œβ”€β”€ profile
β”‚   β”œβ”€β”€ tasks
β”‚   β”œβ”€β”€ layout.tsx
β”‚   └── page.tsx
β”œβ”€β”€ components
β”œβ”€β”€ lib
β”‚   β”œβ”€β”€ db.ts
β”‚   β”œβ”€β”€ auth.ts
β”‚   └── axios.ts
β”œβ”€β”€ models
β”‚   β”œβ”€β”€ User.ts
β”‚   └── Task.ts
β”œβ”€β”€ store
β”‚   β”œβ”€β”€ authSlice.ts
β”‚   β”œβ”€β”€ taskSlice.ts
β”‚   └── index.ts
β”œβ”€β”€ public
β”œβ”€β”€ styles
β”‚   └── globals.css
β”œβ”€β”€ postman_collection.json
β”œβ”€β”€ Scaling_Note_by_Aman.md
└── TaskFlow_Scaling_and_Production_Note_by_Aman.md

🧠 Approach & Decisions

  • Used Next.js App Router with API routes for serverless backend.
  • Connected MongoDB using a reusable connection function.
  • JWT tokens stored in cookies for secure authentication.
  • Profile and task data fetched using protected API routes.
  • Optimized UX with toast notifications and responsive UI.

πŸ“„ Postman Collection / API Docs

A complete Postman collection is included at:

It contains endpoints for authentication (signup/login/logout), fetching user profile, and task CRUD operations with JWT authorization headers.


πŸ—οΈ Scaling Notes

A detailed explanation of how I would scale the frontend-backend integration for production is included in the following files:

These documents describe how I would:

  • Separate the backend into a standalone service
  • Implement secure environment management
  • Add connection pooling and indexes in MongoDB
  • Use HTTP-only cookies for JWT storage
  • Optimize the frontend with ISR and lazy loading
  • Set up CI/CD pipelines for automated deployment

πŸ“Έ Screenshots

Login Page

Login Screenshot

Dashboard Page

Dashboard Screenshot

Profile Update Page

Profile Screenshot

MongoDB Atlas

MongoDB Screenshot MongoDB Collections

πŸ’‘ Future Improvements

  • Implement dark mode.
  • Add drag-and-drop task reordering.
  • Enable profile picture upload.

About

TaskFlow is a Full-Stack Next.js Task Management Platform where users can sign up, log in, manage tasks, edit their profile, and log out securely. It features JWT authentication, MongoDB integration, and a modern responsive UI built with Tailwind CSS and shadcn/ui.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors