A modern React-based CRM application with customer segmentation, campaign management, and analytics capabilities.
Demo Video Link- https://drive.google.com/file/d/1FaCfXR0I0CsTKBi2zFmg0yRr9XEVfCUR/view?usp=sharing
- Dynamic segment builder with multiple conditions
- Real-time segment preview
- Advanced filtering options:
- Total spend
- Number of visits
- Total orders
- Average order value
- Days since last order
- Logical operators (AND/OR) support
- Instant audience size calculation
- Detailed segment analytics
- Create campaigns from segments
- Campaign performance tracking
- Message delivery status monitoring
- Success/failure rate analytics
- Batch processing support
- Real-time analytics
- Customer metrics
- Campaign performance
- Segment distribution
- Recent activity tracking
- React 18+
- Material-UI (MUI) v5
- Redux Toolkit for state management
- Axios for API communication
- React Router v6 for navigation
- Notistack for notifications
-
Install dependencies:
npm install
-
Create a
.envfile in the root directory with:REACT_APP_GOOGLE_CLIENT_ID=your_google_client_id_here REACT_APP_API_URL=http://localhost:3001/api -
Get your Google OAuth Client ID:
- Go to the Google Cloud Console
- Create a new project or select an existing one
- Enable the Google+ API
- Go to Credentials
- Create an OAuth 2.0 Client ID
- Add authorized JavaScript origins (e.g., http://localhost:3000)
- Copy the client ID to your
.envfile
-
Start the development server:
npm start
The application will be available at http://localhost:3000
src/
├── components/ # Reusable components
│ ├── auth/ # Authentication components
│ ├── layout/ # Layout components
│ └── segments/ # Segment builder components
├── pages/ # Page components
├── theme/ # MUI theme configuration
├── utils/ # Utility functions
└── App.js # Main application component
npm start- Runs the app in development modenpm test- Launches the test runnernpm run build- Builds the app for productionnpm run eject- Ejects from create-react-app
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.



