Skip to content

A Trello clone made to be simple and self hostable

Notifications You must be signed in to change notification settings

devdaviddr/taskmanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Manager

A modern, full-stack task management application built with React, TypeScript, Node.js, and PostgreSQL. Features a clean, responsive UI with board-based project management and user authentication.

TaskManager Screenshot

🚀 Features

  • JWT Authentication: Secure login/signup with automatic token refresh
  • Dashboard: Overview of all user boards with quick access
  • Kanban Boards: Drag-and-drop interface for organizing tasks into columns
  • Board Management: Create and manage multiple project boards
  • Card Management: Create, edit, and organize task cards with metadata
  • Tag System: Color-coded tags for categorizing cards
  • Advanced Features: Effort estimation, priority levels, due dates
  • Responsive Design: Mobile-first approach with Tailwind CSS
  • Real-time Updates: Live synchronization across devices
  • Docker Support: Containerized deployment
  • API Documentation: Interactive Swagger UI at /docs

🛠 Tech Stack

Frontend: React 19, TypeScript, Vite, Tailwind CSS, React Router, React Query
Backend: Node.js, Hono, TypeScript, PostgreSQL, Vitest, OpenAPI
DevOps: Docker, ESLint, npm workspaces

🚀 Getting Started

Prerequisites

  • Docker and Docker Compose
  • Node.js 18+ (for local development)

Quick Start with Docker

  1. Clone the repository

    git clone <repository-url>
    cd taskmanager
  2. Set up environment variables

    cp .env.example .env
  3. Start the application

    docker-compose up -d
  4. Access the application

Local Development Setup

  1. Install dependencies

    npm install
  2. Start PostgreSQL (via Docker)

    docker-compose up postgres -d
  3. Start development servers

    npm run dev  # Starts both frontend and backend

🧪 Testing

The backend uses Vitest for unit and integration testing.

To run integration tests:

npm run test --workspace=apps/backend

To run tests with coverage:

npm run test:coverage --workspace=apps/backend

📄 License

This project is licensed under the MIT License.

About

A Trello clone made to be simple and self hostable

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages