# FlowCRM
**Repository Path**: cbasource/FlowCRM
## Basic Information
- **Project Name**: FlowCRM
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2026-01-15
- **Last Updated**: 2026-01-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

# ๐ FlowCRM
**A Lightweight, Out-of-the-Box Modern CRM System**
[็ฎไฝไธญๆ](README.md) | [English](README_EN.md)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
[](https://www.typescriptlang.org/)
[](https://nestjs.com/)
[](https://vuejs.org/)
[Live Demo](#) | [Quick Start](#quick-start) | [Documentation](#documentation) | [Report Issues](https://github.com/MrXujiang/FlowCRM/issues)
---
## ๐ Introduction
**FlowCRM** is a lightweight Customer Relationship Management (CRM) system designed for small teams and individual sales professionals. Built with a modern frontend-backend separation architecture and **zero database dependencies** (uses JSON file storage), allowing you to deploy and start using it in just a few minutes.
### โจ Key Features
- ๐ฏ **Zero Configuration** - No database required, uses JSON file storage, ready to use
- ๐ **Modern Tech Stack** - NestJS + Vue 3 + TypeScript, elegant and maintainable
- ๐จ **Beautiful UI** - Based on Tencent's TDesign component library
- ๐ **Data Visualization** - Real-time dashboards powered by ECharts
- ๐ **Access Control** - JWT authentication with role-based permissions
- ๐ฑ **Responsive Design** - Perfect for desktop and mobile devices
- ๐ ๏ธ **Easy to Extend** - Modular design for easy feature additions
- ๐ข **One-Click Deploy** - Automated deployment scripts, production-ready in 3 minutes
### ๐ฏ Use Cases
- ๐ Customer management for small startups
- ๐ผ Lead tracking for individual sales
- ๐ข Sales process management for SMBs
- ๐ Learning project for modern full-stack development
- ๐ง Foundation template for custom CRM systems
---
## ๐๏ธ Tech Stack
### Backend
- **[NestJS](https://nestjs.com/)** - Enterprise-grade Node.js framework
- **[TypeScript](https://www.typescriptlang.org/)** - Type-safe development
- **[JWT](https://jwt.io/)** - Secure authentication
- **[Passport](http://www.passportjs.org/)** - Flexible authentication middleware
- **[class-validator](https://github.com/typestack/class-validator)** - Data validation
### Frontend
- **[Vue 3](https://vuejs.org/)** - Progressive framework with Composition API
- **[Vite](https://vitejs.dev/)** - Lightning-fast build tool
- **[TDesign Vue Next](https://tdesign.tencent.com/)** - Enterprise UI components
- **[Pinia](https://pinia.vuejs.org/)** - Vue official state management
- **[Vue Router](https://router.vuejs.org/)** - Official routing
- **[Axios](https://axios-http.com/)** - HTTP client
- **[ECharts](https://echarts.apache.org/)** - Data visualization
### System Architecture
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Browser Client โ
โ (Vue 3 + TDesign) โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ HTTP/REST API
โ JWT Token
โโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ NestJS Backend Service โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ Auth โ โ Customers โ โ Leads โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ Activities โ โ Tasks โ โ Statistics โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ โ
โ JsonStorageService โ
โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ File I/O
โโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ JSON File Storage โ
โ users.json | customers.json | leads.json โ
โ activities.json | tasks.json โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
```
---
## ๐ก Core Features
### 1๏ธโฃ User Authentication & Authorization
- โ
User registration and login (JWT Token)
- โ
Role-based access control (Admin/Sales)
- โ
Protected routes and API endpoints
### 2๏ธโฃ Customer Management
- โ
Full CRUD operations for customers
- โ
Search by name, company, phone
- โ
Customer tags and categorization
- โ
Source tracking
- โ
Complete customer profiles
### 3๏ธโฃ Sales Lead Management
- โ
Lead creation and stage progression
- โ
Visual lead pipeline (Uncontacted โ In Progress โ Closed/Invalid)
- โ
Interest level assessment
- โ
Lead-customer association
- โ
Quick filters for follow-up leads
### 4๏ธโฃ Activity Tracking
- โ
Log customer interactions (Call/Email/Meeting/Other)
- โ
Timeline view of interaction history
- โ
Activity notes and attachments
- โ
Next follow-up reminders
### 5๏ธโฃ Task Management
- โ
Create to-do tasks
- โ
Priority levels (High/Medium/Low)
- โ
Associate with customers or leads
- โ
Task status (Todo/Completed)
- โ
Due date reminders
### 6๏ธโฃ Data Visualization Dashboard
- โ
Real-time statistics for customers, leads, tasks
- โ
7-day data trend charts
- โ
Lead stage distribution pie charts
- โ
Task priority bar charts
- โ
Activity type radar charts
- โ
Task status donut charts
---
## ๐ Quick Start
### Requirements
- **Node.js**: >= 16.0.0
- **npm**: >= 7.0.0 (or yarn/pnpm)
### Local Development
#### 1. Clone the repository
```bash
git clone https://github.com/MrXujiang/FlowCRM.git
cd FlowCRM/source
```
#### 2. Install and start backend
```bash
cd backend
npm install
npm run start:dev
```
Backend will run at `http://localhost:3000`
#### 3. Install and start frontend (new terminal)
```bash
cd ../frontend
npm install
npm run dev
```
Frontend will run at `http://localhost:5173`
#### 4. Access the system
Open `http://localhost:5173` in your browser
### First Time Use
1. Click the "Register" tab to create an account
2. Login and start using all features
3. Recommended to create an admin account first
---
## ๐ Project Structure
```
FlowCRM/
โโโ source/
โ โโโ backend/ # Backend service
โ โ โโโ src/
โ โ โ โโโ auth/ # Authentication module (JWT)
โ โ โ โโโ customers/ # Customer management
โ โ โ โโโ leads/ # Lead management
โ โ โ โโโ activities/ # Activity tracking
โ โ โ โโโ tasks/ # Task management
โ โ โ โโโ statistics/ # Data statistics
โ โ โ โโโ common/ # Common services (JSON storage)
โ โ โ โโโ app.module.ts # Application main module
โ โ โ โโโ main.ts # Application entry
โ โ โโโ package.json
โ โ
โ โโโ frontend/ # Frontend application
โ โ โโโ src/
โ โ โ โโโ api/ # API interface layer
โ โ โ โโโ views/ # Page components
โ โ โ โ โโโ Login.vue # Login page
โ โ โ โ โโโ Dashboard.vue # Data dashboard
โ โ โ โ โโโ Customers.vue # Customer management
โ โ โ โ โโโ Leads.vue # Lead management
โ โ โ โ โโโ Activities.vue # Activity tracking
โ โ โ โ โโโ Tasks.vue # Task management
โ โ โ โโโ layouts/ # Layout components
โ โ โ โโโ stores/ # Pinia state management
โ โ โ โโโ router/ # Vue Router
โ โ โ โโโ main.ts # Application entry
โ โ โโโ package.json
โ โ
โ โโโ data/ # Data storage (auto-generated)
โ โ โโโ users.json # User data
โ โ โโโ customers.json # Customer data
โ โ โโโ leads.json # Lead data
โ โ โโโ activities.json # Activity records
โ โ โโโ tasks.json # Task data
โ โ
โ โโโ docs/ # Development documentation
โ โ โโโ 01-้กน็ฎๆฆ่ง.md
โ โ โโโ 02-ๅ็ซฏๅผๅๆๅ.md
โ โ โโโ 03-ๅ็ซฏๅผๅๆๅ.md
โ โ โโโ 04-ๆฐๆฎๅคงๅฑๅผๅ.md
โ โ โโโ 05-ๅธธ่ง้ฎ้ขFAQ.md
โ โ
โ โโโ deploy/ # Deployment scripts and configs
โ โ โโโ deploy.sh # Automated deployment script
โ โ โโโ check.sh # Environment check script
โ โ โโโ nginx.conf # Nginx configuration
โ โ โโโ DEPLOY.md # Full deployment guide
โ โ โโโ QUICKSTART.md # Quick deployment guide
โ โ
โ โโโ prd.md # Product requirements
โ
โโโ README.md # This file
```
---
## ๐ข Production Deployment
### Quick Deploy (3 minutes)
FlowCRM provides automated deployment scripts for easy Linux server deployment.
#### 1. Configure
Edit `source/deploy/nginx.conf` line 2:
```nginx
server_name your-domain.com; # Change to your domain or IP
```
#### 2. Deploy
```bash
cd source/deploy
./check.sh # Check environment
./deploy.sh root@your-server-ip # Start deployment
```
#### 3. Access
```
http://your-server-ip
```
Detailed deployment guide: [source/deploy/QUICKSTART.md](source/deploy/QUICKSTART.md)
---
## ๐ฏ Technical Highlights
### 1. Zero-Database JSON Storage
Custom `JsonStorageService` for data persistence with full CRUD operations:
```typescript
// Core Features
- Auto-creates data files and directories
- Generic type support
- Pagination support
- Thread-safe read/write operations
- Easy backup and migration
```
**Advantages:**
- โ
No database installation or configuration needed
- โ
Data files are directly readable and editable
- โ
Native version control support
- โ
Lightweight, suitable for small to medium data scale
### 2. Modular NestJS Architecture
Each business module is independently encapsulated following single responsibility principle:
```typescript
// Module Structure
Module (Module Definition)
โโโ Controller (Routing Layer)
โโโ Service (Business Logic)
โโโ DTO (Data Transfer Object)
```
**Advantages:**
- โ
High cohesion and low coupling
- โ
Easy to unit test
- โ
Convenient for feature extensions
- โ
Team collaboration friendly
### 3. Vue 3 Composition API Best Practices
Fully utilizes Composition API for elegant and maintainable code:
```typescript
// Composable Functions
- Unified API interface layer
- Reactive state management (Pinia)
- Custom Hooks for logic reuse
- TypeScript type constraints
```
**Advantages:**
- โ
Better logic reuse
- โ
Clearer code organization
- โ
Better TypeScript support
- โ
Smaller bundle size
### 4. Enterprise-Grade UI Components
Built on Tencent's TDesign for out-of-the-box enterprise components:
```typescript
// Core Components
- Table component (pagination, search, sorting)
- Form component (complete validation)
- Dialog component (unified interaction)
- Message notification (friendly user feedback)
```
**Advantages:**
- โ
Unified design standards
- โ
Accessibility support
- โ
Theme customization
- โ
Rich component ecosystem
### 5. Real-time Data Visualization
Professional data dashboards using ECharts:
```typescript
// Chart Types
- Line charts: Data trend analysis
- Pie/Donut charts: Proportion analysis
- Bar charts: Comparison analysis
- Radar charts: Multi-dimensional evaluation
```
**Features:**
- โ
Responsive chart adaptation
- โ
Rich animation effects
- โ
Data drill-down support
- โ
Perfect mobile adaptation
### 6. JWT Authentication & Access Control
Complete user authentication and authorization system:
```typescript
// Security Mechanisms
- JWT Token stateless authentication
- Route-level permission guards
- Role-based access control (RBAC)
- Password encryption storage (bcrypt)
```
**Advantages:**
- โ
No session storage needed
- โ
Supports distributed deployment
- โ
Fine-grained permission control
- โ
High security
---
## ๐ Documentation
### Development Documentation
- [Project Overview](source/docs/01-้กน็ฎๆฆ่ง.md)
- [Backend Development Guide](source/docs/02-ๅ็ซฏๅผๅๆๅ.md)
- [Frontend Development Guide](source/docs/03-ๅ็ซฏๅผๅๆๅ.md)
- [Dashboard Development](source/docs/04-ๆฐๆฎๅคงๅฑๅผๅ.md)
- [FAQ](source/docs/05-ๅธธ่ง้ฎ้ขFAQ.md)
### Deployment Documentation
- [Quick Deployment Guide](source/deploy/QUICKSTART.md) - 3-minute quick deploy
- [Full Deployment Guide](source/deploy/DEPLOY.md) - Production environment setup
### API Documentation
Access after starting backend service: `http://localhost:3000/api`
---
## ๐ ๏ธ Development Guide
### Adding New Modules
1. Generate module using NestJS CLI:
```bash
cd source/backend/src
nest g module your-module
nest g controller your-module
nest g service your-module
```
2. Create DTO:
```bash
mkdir your-module/dto
touch your-module/dto/your-module.dto.ts
```
3. Register module in `app.module.ts`
### Code Standards
- Use ESLint and Prettier for code formatting
- Follow TypeScript strict mode
- Use meaningful variable and function names
- Add necessary comments
### Git Commit Standards
```
feat: New feature
fix: Bug fix
docs: Documentation update
style: Code formatting
refactor: Code refactoring
test: Testing related
chore: Build/tooling related
```
---
## ๐ค Contributing
Contributions are welcome! Whether reporting bugs, suggesting features, or submitting code.
### How to Contribute
1. Fork this project
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
### Development Standards
- Ensure code passes ESLint checks
- Add test cases for new features
- Update related documentation
- Maintain consistent code style
---
## ๐ Changelog
### v1.0.0 (2025-12)
- โจ Initial release
- โ
Complete customer management
- โ
Sales lead tracking
- โ
Activity tracking
- โ
Task management
- โ
Data visualization dashboard
- โ
User authentication & authorization
- โ
Automated deployment scripts
---
## ๐ License
This project is licensed under the [MIT](LICENSE) License.
---
## ๐ Acknowledgments
Thanks to these amazing open-source projects:
- [NestJS](https://nestjs.com/) - Progressive Node.js framework
- [Vue.js](https://vuejs.org/) - Progressive JavaScript framework
- [TDesign](https://tdesign.tencent.com/) - Tencent enterprise design system
- [ECharts](https://echarts.apache.org/) - Apache data visualization library
- [TypeScript](https://www.typescriptlang.org/) - JavaScript superset
---
## ๐ฎ Contact
- Submit Issues: [GitHub Issues](https://github.com/MrXujiang/FlowCRM/issues)
- Email: xujiang156@qq.com
- Website: http://no-crm.flowmix.cn
---
## โญ Star History
If this project helps you, please give us a Star โญ๏ธ
[](https://star-history.com/#MrXujiang/FlowCRM&Date)
---
Made with โค๏ธ by FlowCRM Team
**If this project helps you, please give it a โญ๏ธ**
[โฌ Back to Top](#-flowcrm)