Skip to content

nashtech-garage/smart-task-hub-scala

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart Taskhub

Smart Taskhub is a project management application that helps teams organize tasks, manage workflows, and collaborate effectively.

Technologies and Frameworks

  • Frontend: React, TypeScript, Vite, Tailwind CSS, Redux Toolkit, TanStack (React Query & Virtual), dnd-kit
  • Backend: Play Framework (Scala), Slick, Caffeine, Akka Actors
  • Database: PostgreSQL
  • Testing: ScalaTest (backend)
  • CI: Github Actions

System Architecture

System Architecture Diagram

Entity Relationship Diagram (ERD)

ERD

Code Coverage Report

Below is a screenshot of the backend test coverage report generated with sbt-scoverage:

Code coverage report

Features Checklist

✅ Implemented Features

Authentication & User Management

  • User Registration (email/password with validation)
  • User Login (JWT authentication)
  • User Logout
  • Google OAuth Login
  • JWT Token Management (refresh, auth status)
  • Role Management (admin, member)
  • User Profile (create, update, view)

Workspaces Management

  • Create Workspace
  • List Workspaces
  • Update Workspace
  • Delete Workspace
  • Workspace Members (list, invite, remove)
  • Leave Workspace
  • Email Invitations

Projects/Boards Management

  • Create Project/Board
  • List Projects
  • Get Project Details
  • Complete/Close Board
  • Delete Board (soft delete)
  • Reopen Board
  • View Closed Boards
  • Project Members Management
  • Project Import (JSON)
  • Project Export (JSON)

Columns Management

  • Create Column
  • List Columns with Tasks
  • Update Column
  • Archive/Restore Column
  • Delete Column
  • Reorder Columns (drag & drop)
  • View Archived Columns

Tasks Management

  • Create Task
  • Update Task (name, description, priority)
  • Get Task Details
  • Archive/Restore Task
  • Delete Task
  • Move Task (drag & drop between columns)
  • Task Priority (LOW, MEDIUM, HIGH)
  • Task Completion Status
  • Assign/Unassign Members to Task
  • View Archived Tasks

Comments

  • Create Comment
  • List Comments
  • Update Comment
  • Delete Comment
  • Mention Users (@mentions)

Media/Attachments

  • Upload Media (images/videos)
  • View Media
  • Delete Media
  • Cloudinary Integration

Real-time Updates

  • WebSocket Connection
  • Real-time Board Updates
  • Akka Actor System

Search

  • Task Search by Keyword
  • Filter by Board
  • Paginated Results

UI/UX

  • Dark/Light Theme Toggle
  • Responsive Design
  • Loading States
  • Toast Notifications
  • URL Preview

❌ Not Yet Implemented

Authentication

  • Forgot Password
  • Password Reset via Email
  • Social Login (GitHub, Microsoft)
  • Two-Factor Authentication (2FA)
  • Email Verification on Signup

Notifications

  • In-app Notifications
  • Push Notifications
  • Email Notifications (task assigned, deadlines)
  • Mark Notifications as Read

Labels/Tags

  • Create Labels
  • Assign Labels to Tasks
  • Label Colors
  • Filter by Labels

Checklists

  • Create Checklist in Task
  • Add Checklist Items
  • Toggle Checklist Items
  • Delete Checklist

Task Features

  • Due Dates (date picker UI)
  • Task Cover Images
  • Task Dependencies
  • Subtasks
  • Copy/Move Task to Another Board

Board Features

  • Board Templates
  • Board Background/Theme
  • Board Visibility Settings (Private/Public)
  • Copy Board
  • Watch Board

Activity & Audit

  • Activity Logs
  • Task History
  • Board Activity Feed

Advanced Search & Filter

  • Sort by Last Updated
  • Filter by Date Range
  • Filter by Assignee
  • Advanced Search Filters

Other

  • Calendar View
  • Project Analytics/Statistics
  • Avatar Upload
  • Board Settings Page

Management Task Tool

Project Structure

  • frontend/ – Frontend source code (UI).
  • backend/ – Backend API server.

How to Run

Each part has its own detailed setup guide:

Screenshots

Below are some captures showcasing key features of the application.

Workspace & Boards

Create Workspace Create Board Board Created
Create Workspace Create Board Board Created

Tasks Management

Create Task Assign Member to Task Move Task
Create Task Assign Member to Task Move Task

Board Operations

Move Column Default Board Detail
Move Column Default Board Detail

Import / Export Project

Import Project Export Project
Import Project Export Project

About

A collaborative task management platform that lets teams create projects, assign tasks, set deadlines, track progress, and communicate through comments. All in one place.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors