A full-stack collaborative task management application inspired by tools like Trello and Jira.
TaskFlow combines a React frontend with a Node.js/Express backend, PostgreSQL, Prisma ORM, JWT authentication, Socket.IO, and Docker-based local database setup. The project is designed around workspaces, projects, task boards, and real-time collaboration.
🌐 Live Application:
https://taskflow-snowy-two.vercel.app
- 🔐 User registration and login
- 🛡️ JWT-based authentication
- 🏢 Workspace management
- 📁 Project management
- ✅ Task board workflow
- 📊 Dashboard interface
- 🔄 Real-time communication support with Socket.IO
- 🗄️ PostgreSQL database integration
- 🔧 Prisma ORM for database access
- 🐳 Docker Compose for local PostgreSQL setup
- ☁️ Frontend deployment with Vercel
- React 18
- Vite
- React Router
- Axios
- Tailwind CSS
- Socket.IO Client
- Node.js
- Express.js
- Prisma ORM
- JWT
- bcryptjs
- Socket.IO
- Morgan
- CORS
- dotenv
- PostgreSQL
- Docker Compose
- Vercel
- Render-ready backend architecture
┌──────────────────────────────┐
│ User │
│ Web Browser │
└──────────────┬───────────────┘
│
▼
┌──────────────────────────────┐
│ React / Vite App │
│ React Router • Tailwind CSS │
│ Axios Client │
└──────────────┬───────────────┘
│
REST API / Socket.IO
│
▼
┌──────────────────────────────┐
│ Node.js / Express API │
│ JWT Auth • Socket.IO Server │
└──────────────┬───────────────┘
│
Prisma ORM
│
▼
┌──────────────────────────────┐
│ PostgreSQL │
│ Docker Compose Local │
└──────────────────────────────┘
The frontend currently includes:
Dashboard.jsxLogin.jsxRegister.jsxProjects.jsxTaskBoard.jsxWorkspaces.jsx
These pages provide the primary user experience for authentication, workspace navigation, project management, and task tracking.
taskflow/
│
├── backend/
│ ├── prisma/
│ │ ├── migrations/
│ │ └── schema.prisma
│ │
│ ├── src/
│ │ ├── controllers/
│ │ ├── lib/
│ │ ├── middleware/
│ │ ├── routes/
│ │ ├── utils/
│ │ └── server.js
│ │
│ ├── package.json
│ └── package-lock.json
│
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── context/
│ │ ├── layouts/
│ │ ├── pages/
│ │ ├── services/
│ │ ├── App.jsx
│ │ └── main.jsx
│ │
│ ├── package.json
│ ├── tailwind.config.js
│ ├── vite.config.js
│ └── vercel.json
│
├── docker-compose.yml
└── README.md
TaskFlow uses JSON Web Tokens (JWT) for authentication.
The backend also includes bcryptjs for secure password hashing and middleware support for protecting authenticated routes.
TaskFlow uses PostgreSQL with Prisma ORM.
The Prisma directory includes both the database schema and migrations, making the data model version-controlled and reproducible across environments.
The project is structured around task-management entities such as:
- Users
- Workspaces
- Workspace membership
- Projects
- Tasks
The repository documentation also identifies comments, activity logs, and attachments as areas for continued development.
Both the frontend and backend include Socket.IO packages.
This provides the foundation for real-time collaboration features such as live task and project updates without requiring users to manually refresh the page.
git clone git@github.com:btambe-dev/taskflow.git
cd taskflowdocker compose up -dcd backend
npm install
npx prisma migrate dev
npm run devThe backend is configured for local development on:
http://localhost:5001
Open a second terminal:
cd frontend
npm install
npm run devThe frontend runs locally on:
http://localhost:5173
Create the required backend environment variables before starting the application.
Example:
DATABASE_URL=your_postgresql_connection_string
JWT_SECRET=your_jwt_secret
PORT=5001
CLIENT_URL=http://localhost:5173Never commit production credentials or secrets to the repository.
The repository includes a root-level docker-compose.yml for local infrastructure.
Docker Compose simplifies PostgreSQL setup and makes it easier to recreate the development environment.
Typical commands:
docker compose up -d
docker compose ps
docker compose downTaskFlow demonstrates hands-on experience with:
- Full-stack web development
- React application architecture
- Node.js and Express APIs
- Authentication and authorization
- PostgreSQL
- Prisma ORM
- Database migrations
- Real-time communication with Socket.IO
- REST API integration with Axios
- Docker Compose
- Frontend routing
- Environment configuration
- Cloud deployment workflows
- Troubleshooting frontend/backend integration
Potential future enhancements include:
- Expanded comments and attachments
- Activity tracking
- Email notifications
- Mobile responsiveness improvements
- Dark mode
- Calendar integration
- Analytics dashboard
- AI-assisted task suggestions
- Automated testing
- Expanded CI/CD workflows
Bedolf Tambe
Cloud • DevOps • Networking • Systems Administration • Software Engineering