Skip to content

Md-Arif-hasnat99/Collab-Flow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CollabFlow

CollabFlow Logo

CollabFlow

The Ultimate Remote Team Collaboration Workspace

A powerful, real-time Kanban project management tool designed to streamline workflows for distributed teams.
Built with modern web technologies for performance and scale.

React TypeScript Vite Firebase Tailwind CSS

Table of Contents
  1. About The Project
  2. Key Features
  3. Tech Stack
  4. Getting Started
  5. Usage
  6. Roadmap
  7. Contributing
  8. License
  9. Contact

🌟 About The Project

CollabFlow is more than just a Kanban board; it's a synchronous collaboration platform built to aid remote teams in managing tasks efficiently. In an era where distributed work is the norm, CollabFlow enables teams to stay aligned without the friction of constant status meetings.

We focused on three core pillars during development:

  • Speed: Instant updates across all clients. No refreshing required.
  • Simplicity: A clean, intuitive interface that doesn't overwhelm the user.
  • Scalability: Built on Firebase to handle teams of any size.

Whether you are a solo developer tracking personal projects or a startup team managing your sprint, CollabFlow provides the structure you need.

🎨 Product Demo

Landing & Role Selection

Landing Page

Authentication

Signup

Project Board

Board

Analytics Dashboard

Analytics

Team Chat

Chat

πŸš€ Key Features

βœ… Core Functionality (Implemented)

πŸ“‹ Interactive Kanban Board

  • Drag & Drop Interface: Smooth, accessible drag-and-drop actions powered by @dnd-kit allows you to move tasks between stages effortlessly.
  • Dynamic Columns: Create custom workflows. Add columns like "Backlog," "Development," "Testing," and "Deployed" to match your team's process.
  • Visual Organization: Color-coded columns and tags help visual learners grasp the state of the project instantly.

⚑ Real-Time Synchronization

  • Instant Updates: Powered by Cloud Firestore's real-time listeners. When a teammate moves a card, you see it move instantly on your screen.
  • Optimistic UI: Interactions feel immediate, with background syncing handling the data persistence ensuring a lag-free experience.

πŸ” Secure Authentication & User Management

  • Multiple Sign-In Methods: Support for Email/Password and Google OAuth via Firebase Authentication.
  • Persistent Sessions: Users stay logged in, and their state is protected across page reloads.
  • Role-Based Access: Granular control over who can create boards vs. who can just edit tasks (Admin/Member roles).

πŸ“ Task Details & Management

  • Rich Task Modals: Click any task to view comprehensive details.
  • Checklists: Break down complex tasks into sub-tasks with progress bars.
  • Priority Levels: Set Low, Medium, or High priorities with distinct visual indicators.
  • Due Dates: Set deadlines and get visual warnings when tasks are overdue or approaching due date.
  • Tagging System: Organize tasks by category, feature, or team using customizable tags.

🚧 Upcoming Features (Roadmap)

  • Team Chat: Integrated per-board chat rooms.
  • Analytics Dashboard: Velocity charts and burndown metrics.
  • Activity Logs: A history of who did what and when.
  • Attachment Support: Drag & drop file uploads to tasks.

πŸ› οΈ Tech Stack

This project uses the best-in-class tools for modern React development.

Technology Purpose
react (v18+) UI Library with Hooks & Functional Components
typescript Static Type Checking for robust code
vite Next Generation Frontend Tooling (Super fast builds)
firebase Backend-as-a-Service (Auth, Firestore, Hosting)
tailwindcss Utility-first CSS framework for styling
@dnd-kit Lightweight & accessible drag-and-drop toolkit
lucide-react Beautiful & consistent icon set
react-router-dom Client-side routing
react-hot-toast Elegant toast notifications

πŸ“‚ Folder Structure

A quick look at the top-level files and directories you'll see in this project.

CollabFlow/
β”œβ”€β”€ .github/             # GitHub Actions workflows
β”œβ”€β”€ node_modules/        # Project dependencies
β”œβ”€β”€ public/              # Static assets (favicons, images)
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/          # SVG assets and global styles
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ Auth/        # Authentication forms (Login, Signup)
β”‚   β”‚   β”œβ”€β”€ Board/       # Complex Kanban board components
β”‚   β”‚   β”œβ”€β”€ Chat/        # Chat interface components
β”‚   β”‚   β”œβ”€β”€ Common/      # Reusable UI atoms (Buttons, Icons)
β”‚   β”‚   └── Layout/      # Main app dashboard layout
β”‚   β”œβ”€β”€ contexts/        # React Contexts (Auth, Board, Theme)
β”‚   β”œβ”€β”€ hooks/           # Custom React hooks
β”‚   β”œβ”€β”€ lib/             # Firebase configuration
β”‚   β”œβ”€β”€ pages/           # High-level page views (Analytics, Settings)
β”‚   β”œβ”€β”€ types/           # TypeScript interface definitions
β”‚   β”œβ”€β”€ utils/           # Helper functions
β”‚   β”œβ”€β”€ App.tsx          # Main application component
β”‚   └── main.tsx         # Entry point
β”œβ”€β”€ .env                 # Environment variables (git-ignored)
β”œβ”€β”€ .env.example         # Example environment variables
β”œβ”€β”€ .firebaserc          # Firebase project aliases
β”œβ”€β”€ firestore.rules      # Firestore security rules
β”œβ”€β”€ storage.rules        # Storage security rules
β”œβ”€β”€ index.html           # HTML entry point
β”œβ”€β”€ package.json         # Project metadata and scripts
β”œβ”€β”€ tailwind.config.cjs  # Tailwind CSS configuration
β”œβ”€β”€ tsconfig.json        # TypeScript configuration
└── vite.config.ts       # Vite bundler configuration

🏁 Getting Started

Follow these instructions to set up your development environment.

Prerequisites

Ensure you have the following installed:

  • Node.js (v18.0.0 or higher)
  • npm (v9.0.0 or higher) or yarn
  • Git

Installation

  1. Clone the Repository

    git clone https://github.com/Md-Arif-hasnat99/Collab-Flow.git
    cd CollabFlow
  2. Install Dependencies

    npm install
  3. Environment Setup Create a .env file in the root directory by copying the example:

    cp .env.example .env

πŸ”₯ Firebase Setup

To run this app, you need your own Firebase project.

  1. Go to Firebase Console and create a new project.

  2. Authentication: Enable Email/Password and Google providers in the Authentication menu.

  3. Firestore: Create a Firestore database (Start in Test Mode for development).

  4. Configuration: Go to Project Settings > General > "Your apps" > Web App. Copy the config values and update your .env file:

    VITE_FIREBASE_API_KEY=AIzaSy...
    VITE_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com
    VITE_FIREBASE_PROJECT_ID=your-project-id
    VITE_FIREBASE_STORAGE_BUCKET=your-project.appspot.com
    VITE_FIREBASE_MESSAGING_SENDER_ID=123456789
    VITE_FIREBASE_APP_ID=1:123456789:web:abcdef
    VITE_FIREBASE_DATABASE_URL=https://your-project-default-rtdb.firebaseio.com
  5. Run Development Server

    npm run dev

πŸ’‘ Usage

Creating a Workspace

  1. Register a new account. You will be logged in immediately.
  2. Create a Board. From the sidebar, click the + icon to add a new project board.
  3. Define Columns. By default, new boards can come with presets, or you can manually add "To Do", "In Progress", etc.

Managing Tasks

  • Add Task: Click the "+ Add Task" button at the bottom of any column.
  • Edit Task: Click on the card to open the modal. Here you can add descriptions, change priority, add due dates, or create sub-tasks.
  • Move Task: Simply drag the card to another column to change its status.

πŸ›£οΈ Roadmap

  • Phase 1: Foundation

    • Project Setup (Vite + TS)
    • Firebase Integration
    • Authentication & Authorization
  • Phase 2: Core Features

    • Kanban Board Implementation
    • Drag & Drop Functionality
    • Task CRUD & Details
    • Real-time Sync
  • Phase 3: Collaboration & Social

    • Real-time Presence (Who is viewing this board?)
    • In-app Chat System
    • Comments on Tasks
  • Phase 4: Advanced Features

    • Dark Mode Polish
    • Analytics & Reporting
    • Export to PDF/CSV

See the open issues for a full list of proposed features.


🀝 Contributing

Contributions are an essential part of the open source community. We welcome all contributions!

  1. Fork the repo on GitHub.
  2. Clone the project to your own machine.
  3. Commit changes to your own branch.
  4. Push your work back to your fork.
  5. Submit a Pull Request so that we can review your changes.

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.


πŸ“ž Contact

Project Link: https://github.com/Md-Arif-hasnat99/Collab-Flow


If you like this project, please verify give it a ⭐️ star on GitHub!

About

A powerful, real-time Kanban project management tool designed to streamline workflows for distributed teams. Built with modern web technologies for performance and scale.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors