Skip to content

elonerajeev/flowsyc

Repository files navigation

Flowsyc Logo

Flowsyc

Enterprise CRM for Modern Businesses
Manage clients, leads, deals, projects, tasks, invoices, HR & analytics β€” all in one powerful dashboard.

Website GitHub Stars License


πŸš€ The Problem

Modern businesses struggle with fragmented tools, scattered data, and disconnected teams.

Business Pain Traditional Solution Flowsyc Solution
Separate apps for CRM, Projects, HR 5+ different SaaS tools βœ… All-in-one platform
Data scattered across systems Export/Import headaches βœ… Single source of truth
Expensive per-seat pricing $50-100/user/month βœ… Cost-effective
Complex implementation Months of setup βœ… Ready in days
No customization Rigid workflows βœ… Fully configurable
Poor team adoption Low engagement βœ… Intuitive UI/UX

πŸ’‘ Why Flowsyc?

The All-in-One Business Management Platform

Flowsyc replaces dozens of disconnected tools with a single, unified platform:

Module Replaces Features
Sales CRM Salesforce, Pipedrive Leads, Deals, Pipeline, Forecasts
Project Mgmt Asana, Trello Projects, Tasks, Kanban, Gantt
Finance QuickBooks, FreshBooks Invoices, Payments, Analytics
HR BambooHR, Gusto Employees, Payroll, Attendance
Analytics Tableau, PowerBI Dashboards, Reports, Insights
Communication Slack, Email Inbox, Notifications

Key Differentiators

  • βœ… Role-Based Access β€” Admin, Manager, Employee, Client β€” granular permissions
  • βœ… Real-Time Updates β€” Socket.IO live notifications
  • βœ… Workflow Automation β€” Rule-based triggers & actions
  • βœ… Audit Logging β€” Complete activity tracking
  • βœ… File Management β€” Attachments, documents
  • βœ… Multi-Workspace β€” Isolated team environments
  • βœ… Email Integration β€” Gmail SMTP, Google Calendar
  • βœ… API-First β€” RESTful backend

πŸ› οΈ Tech Stack

Layer Technology
Frontend React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui
State TanStack Query, React Context
Routing React Router v7
Charts Recharts
Backend Express.js, TypeScript, Zod
Database PostgreSQL (Prisma ORM)
Auth JWT (Access + Refresh), Google OAuth
Real-Time Socket.IO
Email Nodemailer (SMTP)
Queue / Cache Redis, BullMQ (Async Background Jobs)
File Storage Multer (Local/Cloudinary)
Monitoring Prometheus, Grafana, Loki

πŸ“Έ Screenshots

Dashboard Sales Pipeline HR Management
Dashboard Pipeline HR

See more in docs/ folder.


🎯 Who Is Flowsyc For?

Business Type Use Case
Small Business Replace multiple apps with one
Agency Client management + projects
Startup Sales + team + finance
Enterprise Custom workflows + scale
Consulting Time tracking + invoicing
SaaS Customer success + billing

πŸ“¦ Installation

Quick Start (Docker)

# Clone the repository
git clone https://github.com/elonerajeev/flowsyc.git
cd flowsyc

# Start with Docker
docker-compose up -d

# Visit http://localhost:8080

Manual Setup (Frontend on Vercel + Backend on EC2)

# Backend (on EC2)
cd backend
npm install
npx prisma migrate deploy
npm run build
npm start

# Frontend (deploy to Vercel)
# Connect GitHub repo to Vercel and set env vars:
# VITE_API_BASE_URL=http://185.27.134.55/api
# VITE_SOCKET_URL=ws://185.27.134.55

πŸ”§ Configuration

Environment Variables

# Database
DATABASE_URL=postgresql://user:pass@host:5432/flowsyc

# Auth
JWT_ACCESS_SECRET=your_64_char_hex_secret
JWT_REFRESH_SECRET=your_64_char_hex_secret
COOKIE_SECRET=your_32_char_hex_secret

# Email (Gmail App Password)
SMTP_USER=[email protected]
SMTP_PASS=your_app_password

# Redis Queue (BullMQ)
REDIS_URL=redis://localhost:6379

# Google OAuth (optional)
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

# Cloud Storage (optional)
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   FRONTEND (React)                       β”‚
β”‚  Port 8080 (prod) / 5173 (dev)                           β”‚
β”‚  β€’ 35+ Pages  β€’ Role-Gated  β€’ Responsive                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β”‚ HTTP + WebSocket
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   BACKEND (Express)                     β”‚
β”‚  Port 3000                                              β”‚
β”‚  β€’ REST API  β€’ Auth  β€’ Socket.IO                        β”‚
β”‚  β€’ Zod Validation  β€’ Rate Limiting                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚                                  β”‚
            β”‚ Prisma ORM                       β”‚ Redis / BullMQ
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ DATABASE (PostgreSQL) β”‚            β”‚  REDIS JOB QUEUE    β”‚
β”‚ β€’ 30+ Models          β”‚            β”‚  β€’ Email Queue      β”‚
β”‚ β€’ Migrations          β”‚            β”‚  β€’ Async Jobs       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β”‚ Prisma ORM
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              DATABASE (PostgreSQL)                      β”‚
β”‚  β€’ 30+ Models  β€’ Migrations  β€’ Indexes                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“Š Features Matrix

Feature Status Description
Client Management βœ… Accounts, contacts, companies
Lead Tracking βœ… Pipeline, stages, sources
Deal Management βœ… Deals, predictions, revenue
Project Management βœ… Projects, milestones, budget
Task Management βœ… Kanban, Gantt, priorities
Invoicing βœ… Create, send, track payments
HR Management βœ… Employees, payroll, attendance
Analytics βœ… Dashboards, reports, charts
Automation βœ… Rules, triggers, actions
Email Integration βœ… Gmail SMTP, templates (queued via BullMQ)
Asynchronous Jobs βœ… Redis/BullMQ background queue
Email Integration βœ… Gmail SMTP, templates
File Attachments βœ… Upload, download
Audit Logs βœ… Full activity tracking
Multi-Workspace βœ… Team isolation
Role-Based Access βœ… 4 roles with permissions
Real-Time Updates βœ… Socket.IO notifications

🎁 Pricing

Plan Users Price Features
Free 1 $0 All core features
Pro 10 $29/mo Priority support
Enterprise Unlimited Custom On-premise, SLA

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

MIT License - See LICENSE for details.


πŸ™ Acknowledgments


Built with ❀️ by Flowsyc Team
flowsyc-svuj.vercel.app

About

Flowsyc - Enterprise CRM for modern businesses. Manage clients, leads, deals, projects, tasks, invoices, HR & analytics in one powerful dashboard. Built with React, TypeScript, Prisma.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors