Skip to content

Repository files navigation

Task Board

Day 4 · IoTBTech React Deep Dive

A real Kanban-style task board application built with Next.js, TypeScript, Supabase, TanStack Query, React Hook Form, and Zod.

The application allows users to create projects, manage tasks, update task statuses, and organize work using a simple drag-and-drop board.


Screenshot

Page Screenshot
Login Page Login Page
Dashboard Dashboard
Task Board - Initial State Task Board Empty
Task Board - With New Tasks Task Board With Tasks
Task Creation Form Task Creation Form

Live Demo

Live Demo


Features

  • User authentication
  • Create and manage projects
  • Create, update, and delete tasks
  • Drag-and-drop task management
  • Task priorities and statuses
  • Form validation with Zod
  • Server state management with TanStack Query
  • Responsive interface

Technologies

  • Next.js
  • React
  • TypeScript
  • Supabase
  • TanStack Query
  • React Hook Form
  • Zod

Project Structure

taskflow/
|   src/
|   ├── app/
|   │   ├── error.tsx
|   │   ├── global.css
|   │   ├── layout.tsx
|   │   ├── not-found.tsx
|   │   ├── page.tsx
|   │   ├── providers.tsx
|   │   ├── login/
|   │   |   ├── LoginForm.tsx
|   │   |   └── page.tsx
|   │   └── (app)/
|   │       └── projects/
|   │           ├── page.tsx
|   │           └── [id]/
|   ├── components/
|   │   ├── layout/
|   │   ├── tasks/
|   │   └── ui/
|   ├── hooks/
|   │   ├── useCreateTask.ts
|   │   ├── useDeleteTask.ts
|   │   ├── useTask.ts
|   │   └── useUpdateTaskStatus.ts
|   ├── lib/
|   │   ├── api/
|   |   │   ├── projects.ts
|   |   │   └── tasks.ts
|   │   ├── supabase/
|   |   │   ├── client.ts
|   |   │   ├── middleware.ts
|   |   │   └── server.ts
|   │   ├── validation/task.ts
|   │   ├── env.ts
|   │   └── query-keys.ts
|   ├── types/database.ts
|   └── middleware.ts
├─── supabase/schema.sql
├─── package.json
├─── README.md
└─── tsconfig.json

Getting Started

Clone the repository:

git clone https://github.com/iibrahimx/taskflow.git

Navigate into the project:

cd taskflow

Install dependencies:

npm install

Create a .env.local file and add your Supabase credentials:

NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key

Run the development server:

npm run dev

Open your browser and visit:

http://localhost:3000

About

A real task board application built with Next.js, that allows users to create projects, manage tasks, update task statuses, and organize work using a simple drag-and-drop board.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages