# 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 Demo # ๐Ÿš€ FlowCRM **A Lightweight, Out-of-the-Box Modern CRM System** [็ฎ€ไฝ“ไธญๆ–‡](README.md) | [English](README_EN.md) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![Node.js Version](https://img.shields.io/badge/node-%3E%3D16.0.0-brightgreen.svg)](https://nodejs.org/) [![TypeScript](https://img.shields.io/badge/TypeScript-5.0%2B-blue.svg)](https://www.typescriptlang.org/) [![NestJS](https://img.shields.io/badge/NestJS-11.x-red.svg)](https://nestjs.com/) [![Vue.js](https://img.shields.io/badge/Vue.js-3.5-green.svg)](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 โญ๏ธ [![Star History Chart](https://api.star-history.com/svg?repos=MrXujiang/FlowCRM&type=Date)](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)