TaskFlow is a collaborative Kanban task manager built with React, TypeScript, Tailwind CSS, dnd-kit, and Supabase.
The app supports real task workflows with drag and drop, task creation and editing, comments, activity history, search, filtering, anonymous authentication, and Supabase persistence.
TaskFlow is designed to feel like a real project management product instead of a static UI demo. Users can move work across a four-stage board, open a task detail panel, discuss work through comments, and review a timeline of task activity.
- Four workflow columns: To Do, In Progress, In Review, Done
- Drag and drop task movement across columns
- Create, edit, and delete tasks
- Right-side task detail panel
- Per-task comments with inline edit and delete
- Activity log for task and comment events
- Search by title
- Filter by priority and status
- Overdue date highlighting
- Supabase-backed persistence
- Anonymous authentication
- RLS-compatible data flow
- React 18
- TypeScript
- Tailwind CSS
- Vite
- dnd-kit
- Supabase
- date-fns
- lucide-react
src/app/App.tsxTop-level layout, filters, modal state, and task detail panel statesrc/hooks/useBoardState.tsCentral task state, Supabase sync, drag-and-drop persistence, and activity loggingsrc/components/board/*Board, columns, cards, filters, and task actionssrc/components/tasks/*New task modal and task detail panel
src/lib/supabase.tsSupabase client setupsrc/lib/task-service.tsTask fetch, create, update, delete, and status syncsrc/lib/task-collaboration-service.tsComments and activity service functions
This project expects:
- Anonymous auth enabled
- A
taskstable - A
task_commentstable - A
task_activitytable - RLS policies scoped to
auth.uid() = user_id
idtitledescriptionstatusprioritydue_dateuser_idcreated_at
idtask_iduser_idcontentcreated_at
idtask_iduser_idaction_typemessagecreated_at
task_createdtask_updatedtask_movedcomment_addedcomment_editedcomment_deleted
If you want to run the project on your machine:
- Install dependencies
npm install- Create a local
.envfile in the project root
VITE_SUPABASE_URL=your-project-url
VITE_SUPABASE_ANON_KEY=your-anon-key- Start the dev server
npm run devnpm run dev
npm run build
npm run preview
npm run checkThis app is deployed on Vercel.
For production deployment, make sure your hosting environment includes:
VITE_SUPABASE_URLVITE_SUPABASE_ANON_KEY
Also confirm that:
- Supabase anonymous auth is enabled
- all required tables exist
- RLS policies are active for tasks, comments, and activity
src/
app/
components/
board/
dashboard/
layout/
tasks/
ui/
data/
hooks/
lib/
styles/
types/
- Real user accounts and profiles
- Persistent card ordering in the database
- Realtime collaboration
- Assignee management
- File attachments
- Rich text comments
This project is currently intended for portfolio and educational use.