Skip to content

Pliatsikas/TaskFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskFlow 🗂️

A full-stack task management SaaS built with Next.js, Node.js, PostgreSQL, and Socket.io.

Tech Stack

Layer Tech
Frontend Next.js 14, React, TypeScript, Tailwind CSS, shadcn/ui
Backend Node.js, Express, TypeScript, Socket.io
Database PostgreSQL (Prisma ORM)
Cache / Sessions Redis
DevOps Docker Compose, GitHub Actions

Quick Start

Prerequisites

  • Node.js 20+
  • Docker Desktop

1. Clone & install dependencies

git clone <repo-url>
cd taskflow
npm install

2. Start the database services

docker compose up -d
# Starts: PostgreSQL on :5432, Redis on :6379, pgAdmin on :5050

3. Configure environment

cp apps/server/.env.example apps/server/.env
# Edit .env if needed (defaults work with docker-compose)

4. Run database migrations + seed

cd apps/server
npm run db:migrate    # Creates tables
npm run db:seed       # Adds demo user + sample data

5. Start development servers

cd ../..  # back to root
npm run dev
# Server: http://localhost:4000
# Client: http://localhost:3000

Demo account

Email: demo@taskflow.dev Password: demo1234

Project Structure

taskflow/
├── apps/
│   ├── server/          # Express API
│   │   ├── prisma/      # Database schema & migrations
│   │   └── src/
│   │       ├── controllers/
│   │       ├── services/
│   │       ├── routes/
│   │       ├── middleware/
│   │       └── lib/     # prisma, redis, jwt, socket
│   └── client/          # Next.js app
├── packages/
│   └── shared/          # Shared TypeScript types
└── docker-compose.yml

API Endpoints

Method Path Auth Description
POST /api/auth/register Create account
POST /api/auth/login Login
POST /api/auth/refresh cookie Refresh access token
POST /api/auth/logout Logout
GET /api/auth/me Current user
GET /api/workspaces List workspaces
POST /api/workspaces Create workspace
GET /api/boards/:id Get board with columns & tasks
POST /api/tasks Create task
PATCH /api/tasks/:id Update task
PATCH /api/tasks/:id/move Move task (drag & drop)

Socket Events

Event Direction Description
board:join client→server Join a board room
TASK_CREATED server→client Broadcast new task
TASK_MOVED server→client Broadcast task move
TASK_UPDATED server→client Broadcast task update

About

Full-stack task management SaaS | Next.js 15, Node.js, PostgreSQL, Socket.io, Docker

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages