Ongba Logoton huynh
CollabHub

CollabHub

Full-stack project management application

  • Website
  • PostgreSQL
  • Express
  • React
  • TypeScript
  • Sequelize
  • Socket.io
  • SCSS
  • GCP

CollabHub is a centralized platform for streamlining the process of collaboration and project management. It provides tools for team communication, task assignment, and progress tracking, all in one place. The platform aims to enhance productivity and ensure that all team members are on the same page, making it easier to manage projects efficiently and effectively.

It was developed as a school project consisting of 4 members, including me, for SFU CMPT 372 Web II - Server-side Development, Spring 2024.

Tech stack

Features

  • Project task management example
    Project task management example 2

    Project and task management

    Users can create projects, add collaborators, tasks, and files. Within each task, users can assign it to team members, set due dates, add descriptions, attachments, and comments.

    Tasks are organized into columns: To do, In progress, and Done; and can be moved between those columns via a drag-and-drop interface or a dropdown menu.

  • Role-based access control

    CollabHub has a role-based access control system that allows the project owner to assign different roles to collaborators, such as Owner, Editor, and Viewer. Each of these roles have different permissions, from full project control to read-only access.

    role based access control feature example
  • Chat feature example

    Chat feature

    Real-time chat feature implemented using Socket.io allows users to communicate with each other within the platform. Users can send direct messages to other users or create group chats.

Other features

  • Admin dashboard for managing users, projects, and roles.
  • Session-based authentication and authorization - login, signup using email and password, and Google login.
  • Account settings for updating personal information, password, and profile picture.
  • Built-in file previewer for viewing images, PDFs, and other file types directly in the platform.
  • Search functionality for finding project-related entities, users, and other projects.

Future improvements

  • Notification system: project updates, task assignments, and mentions in task comments and chat messages.
  • Filtering and sorting tasks by due date, assignee, priority, and other criteria.