⚡ TaskFlow — Team Task Manager
A modern, full-stack task management platform designed for teams to collaborate efficiently. TaskFlow enables teams to organize projects, assign and track tasks, manage team members with role-based access control, and stay synchronized in real-time. Built with cutting-edge technologies including React for a responsive UI, Node.js/Express for a robust backend, and Neon PostgreSQL for scalable data management, with JWT-based authentication for secure access.
Layer
Tech
Frontend
React 18, React Router v6, Axios
Backend
Node.js, Express
Database
Neon PostgreSQL (pg driver)
Auth
JWT + bcrypt
Deployment
Render backend + Vercel frontend
taskflow/
├── backend/ # Express API
│ ├── db/ # Neon DB connection + schema
│ ├── middleware/ # JWT auth middleware
│ ├── routes/ # auth, projects, tasks
│ └── server.js
└── frontend/ # React SPA
└── src/
├── context/ # Auth context
├── pages/ # Dashboard, Projects, Tasks, Team
└── components/
1. Get your Neon Database URL
Go to neon.tech and create a free account
Create a new project (e.g. taskflow)
Copy the connection string — looks like:
postgresql://user:password@ep-xxx.us-east-1.aws.neon.tech/neondb?sslmode=require
cd backend
cp .env.example .env
# Edit .env and paste your Neon DATABASE_URL
npm install
npm run dev
# Runs on http://localhost:5000
cd frontend
cp .env.example .env
# REACT_APP_API_URL=http://localhost:5000/api (default)
npm install
npm start
# Runs on http://localhost:3000
Deploy as two separate services from the same GitHub repo, or import the included render.yaml blueprint.
Note: I deployed the backend on Render and the frontend on Vercel because my Railway trial ended.
git init
git add .
git commit -m " Initial commit"
git remote add origin https://github.com/YOUR_USERNAME/taskflow.git
git push -u origin main
Go to render.com → New → Blueprint or Web Service
Select your repo
If creating manually, set Root Directory to backend
Go to Variables and add:
DATABASE_URL=your_neon_connection_string
JWT_SECRET=some_long_random_secret_string
FRONTEND_URL=https://your-frontend.onrender.com
Deploy — copy the generated URL (e.g. https://taskflow-backend.onrender.com)
Create a second Web Service in Render for the frontend
Root Directory: set to frontend
Go to Variables and add:
REACT_APP_API_URL=https://taskflow-backend.onrender.com/api
Deploy — your app is live!
🔐 Role-Based Access Control
Feature
Admin
Member
Create projects
✅
❌
Delete projects
✅
❌
Add/remove members
✅
❌
Create/edit/delete tasks
✅
❌
Update task status
✅
✅ (own tasks)
View all projects
✅
Only joined
View team page
✅
❌
Method
Endpoint
Description
POST
/api/auth/signup
Register user
POST
/api/auth/login
Login
GET
/api/auth/me
Get current user
GET
/api/auth/users
List all users
Method
Endpoint
Description
GET
/api/projects
List projects
POST
/api/projects
Create project (admin)
GET
/api/projects/:id
Get project details
PUT
/api/projects/:id
Update project
DELETE
/api/projects/:id
Delete project (admin)
POST
/api/projects/:id/members
Add member
DELETE
/api/projects/:id/members/:userId
Remove member
Method
Endpoint
Description
GET
/api/tasks/dashboard
Dashboard summary
GET
/api/tasks/project/:projectId
List project tasks
POST
/api/tasks/project/:projectId
Create task
PUT
/api/tasks/:id
Update task
DELETE
/api/tasks/:id
Delete task