Skip to content

Latest commit

Β 

History

History
91 lines (61 loc) Β· 2.74 KB

File metadata and controls

91 lines (61 loc) Β· 2.74 KB

🌟 Advanced MERN B2B Teams Project Management SaaS - Synapse


πŸ“Œ Project Overview

Welcome to Synapse, a powerful and scalable multi-tenancy project management system built with Node.js, MongoDB, and React. Designed for real-world B2B needs, this project delivers features like Google Sign-In, workspace management, project tracking, task collaboration, role-based permissions, and more. Perfect for developers aiming to create SaaS-based team collaboration platforms.


🌟 Key Features

  • πŸ” Authentication (Google Sign-In, Email, Password)
  • 🏒 Create & Manage Multiple Workspaces
  • πŸ“Š Projects & Epics Management
  • βœ… Tasks (CRUD, Status, Priority, Assignee)
  • πŸ‘₯ Roles & Permissions (Owner, Admin, Member)
  • βœ‰οΈ Invite Members to Workspaces
  • πŸ” Filters & Search (Status, Priority, AssignedTo)
  • πŸ“ˆ Analytics Dashboard
  • πŸ“… Pagination & Load More
  • πŸ”’ Cookie Session Management
  • πŸšͺ Logout & Session Termination
  • 🌱 Seeding for Test Data
  • πŸ’Ύ Mongoose Transactions for Robust Data Integrity
  • 🌐 Built with MERN Stack (Node.js, MongoDB, React, TypeScript)

πŸš€ Tools & Technologies

This project leverages the latest tools and frameworks for modern development:

  • Node.js: Scalable backend architecture
  • React.js: Dynamic frontend framework
  • MongoDB & Mongoose: Flexible and scalable database solutions
  • Google OAuth: Seamless Google Sign-In integration
  • TypeScript: For a type-safe codebase
  • TailwindCSS & Shadcn UI: Beautiful, responsive design
  • Vite.js: Lightning-fast frontend development

πŸ”„ Getting Started

1. Watch the Video

Follow along step-by-step by watching the full guide on YouTube.

2. Set Up Environment Variables

Create a .env file in the root of your project and configure these variables:

PORT=8000
NODE_ENV=development
MONGO_URI="mongodb+srv://<username>:<password>@<>.mongodb.net/teamsync_db"  

SESSION_SECRET="session_secret_key"

GOOGLE_CLIENT_ID=<your-google-client-id>  
GOOGLE_CLIENT_SECRET=<your-google-client-secret>  
GOOGLE_CALLBACK_URL=http://localhost:8000/api/auth/google/callback

FRONTEND_ORIGIN=http://localhost:3000
FRONTEND_GOOGLE_CALLBACK_URL=http://localhost:3000/google/callback

3. Run the Application

Install dependencies and start the development server:

npm install  
npm run dev  

Access the backend at http://localhost:8000.


🌐 Deploying Synapse

1. Add Environment Variables

Add the .env variables to your hosting platform (e.g., Vercel).

2. Deploy

Deploy your app using your preferred method to make it live.