Skip to content
gbatistaaPublic

About

A modern, collaborative task management platform for teams with Kanban boards, JWT authentication, and role-based access control. Built with Next.js, React, NestJS, TypeORM, and PostgreSQL.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

200 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Taskly

A modern, collaborative task management platform for teams

React Next.js TailwindCSS Node.js TypeScript NestJS PostgreSQL Nodemailer

Features β€’ Tech Stack β€’ Getting Started β€’ API Documentation β€’ License


πŸ“‹ About

Taskly is a full-stack task management platform designed for teams that need to collaborate efficiently. Built with modern technologies, it provides an intuitive interface for organizing tasks in a Kanban-style board with drag-and-drop functionality.

Whether you're managing a small project or coordinating a large team, Taskly offers role-based access control, real-time updates, and a clean, responsive UI that works seamlessly across devices.


✨ Features

πŸ‘₯ Team Management

  • Create and manage teams with custom information (name, company, description)
  • Role-based access control with owner and member roles
  • Invite members to collaborate on team projects
  • View all teams you belong to in a unified dashboard

πŸ“ Kanban Task Board

  • Customizable columns with names and colors
  • Drag-and-drop tasks between columns for seamless workflow
  • Drag-and-drop columns to reorder your board
  • Task details including title, description, and position tracking
  • Visual organization with color-coded columns

πŸ” Authentication & Security

  • JWT-based authentication with access and refresh tokens
  • Secure password hashing with bcrypt
  • HTTP-only cookies for token storage
  • Protected routes and API endpoints

🎨 Modern UI/UX

  • Responsive design that works on desktop, tablet, and mobile
  • Dark mode with a sleek, modern aesthetic
  • Toast notifications for real-time feedback
  • Loading states and smooth transitions

πŸ›  Tech Stack

Backend

Technology Description
NestJS 11 Progressive Node.js framework for scalable server-side applications
TypeORM 0.3 Object-Relational Mapping for TypeScript and JavaScript
PostgreSQL Powerful, open-source relational database
JWT JSON Web Tokens for secure authentication
Swagger API documentation and testing interface
class-validator Decorator-based validation for DTOs
bcrypt Password hashing library

Frontend

Technology Description
Next.js 16 React framework with server-side rendering and app router
React 19 Latest React with concurrent features
TypeScript 5 Type-safe JavaScript development
TailwindCSS 4 Utility-first CSS framework
Jotai Primitive and flexible state management
Axios Promise-based HTTP client
Sonner Toast notifications library

πŸ“ Project Structure

taskly/
β”œβ”€β”€ backend/                    # NestJS API Server
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ data/              # Database configuration & migrations
β”‚   β”‚   β”‚   β”œβ”€β”€ migrations/    # TypeORM migrations
β”‚   β”‚   β”‚   └── data-source.ts # DataSource configuration
β”‚   β”‚   β”œβ”€β”€ modules/
β”‚   β”‚   β”‚   β”œβ”€β”€ auth/          # Authentication (login, JWT)
β”‚   β”‚   β”‚   β”œβ”€β”€ user/          # User management
β”‚   β”‚   β”‚   β”œβ”€β”€ team/          # Team CRUD operations
β”‚   β”‚   β”‚   β”œβ”€β”€ team-member/   # Team membership management
β”‚   β”‚   β”‚   β”œβ”€β”€ task/          # Task management
β”‚   β”‚   β”‚   β”œβ”€β”€ task-column/   # Kanban column management
β”‚   β”‚   β”‚   β”œβ”€β”€ refresh-token/ # Token refresh handling
β”‚   β”‚   β”‚   └── common/        # Shared entities and utilities
β”‚   β”‚   └── main.ts            # Application entry point
β”‚   └── package.json
β”‚
β”œβ”€β”€ frontend/                   # Next.js Client Application
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ (auth)/            # Auth pages (login, signup)
β”‚   β”‚   β”œβ”€β”€ (main)/            # Main app pages (dashboard, team)
β”‚   β”‚   └── _extra/            # Shared utilities, API, atoms
β”‚   └── package.json
β”‚
└── README.md

πŸš€ Getting Started

Prerequisites

  • Node.js >= 18.x
  • PostgreSQL (local or cloud instance like Neon/Supabase)
  • npm or yarn

1. Clone the Repository

git clone https://github.com/gbatistaa/taskly.git
cd taskly

2. Backend Setup

cd backend
npm install

Create a .env file:

PORT=4000
DB_PORT=5432
HOST=localhost
DB_USER=your_username
PASSWORD=your_password
DATABASE=taskly
NODE_ENV=development
JWT_SECRET=your_super_secret_key
DB_TYPE=postgres

Run migrations and start the server:

npm run migration:run
npm run start:dev

3. Frontend Setup

cd frontend
npm install
npm run dev

4. Access the Application

Service URL
Frontend http://localhost:3000
Backend API http://localhost:4000
Swagger Docs http://localhost:4000/api

πŸ“– API Documentation

The API is fully documented with Swagger. After starting the backend, visit:

http://localhost:4000/api

Main Endpoints

Method Endpoint Description
POST /auth/login User login
POST /auth/refresh Refresh access token
POST /user/create Register new user
GET /user/teams Get user's teams
POST /team Create new team
GET /team/:id Get team by ID
POST /task-column Create task column
POST /task Create task

πŸ—„ Database Migrations

Taskly uses TypeORM migrations for database schema management:

# Generate a new migration based on entity changes
npm run migration:generate -- src/data/migrations/MigrationName

# Run pending migrations
npm run migration:run

# Revert the last migration
npm run migration:revert

# Create an empty migration
npm run migration:create -- src/data/migrations/MigrationName

πŸ§ͺ Testing

# Run unit tests
npm run test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage
npm run test:cov

# Run e2e tests
npm run test:e2e

🚒 Deployment

Backend

Recommended platforms:

  • Railway - Easy PostgreSQL + Node.js hosting
  • Render - Free tier available
  • Fly.io - Edge deployment

Frontend

  • Vercel - Optimized for Next.js (recommended)
  • Netlify - Static and SSR support

Database

  • Neon - Serverless PostgreSQL
  • Supabase - PostgreSQL with extras
  • Railway - Managed PostgreSQL

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‘¨β€πŸ’» Author

Gabriel Batista

Fullstack Developer passionate about building scalable web applications.

GitHub


Made with ❀️ and β˜•

About

A modern, collaborative task management platform for teams with Kanban boards, JWT authentication, and role-based access control. Built with Next.js, React, NestJS, TypeORM, and PostgreSQL.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages