A modern CRM system built with Flask and SQLAlchemy.
- Contact Management
- Lead Tracking
- Project Management
- Task Management
- User Management with Role-Based Access Control
- API Integration
- Modern UI with Bootstrap 5
- AI-Powered Interaction Analysis (Claude and OpenAI)
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements/dev.txt
- Set up environment variables:
cp .env.example .env
# Edit .env with your configuration
- Run the setup script:
python scripts/setup.py
This will:
- Create the database
- Initialize roles and permissions
- Create an admin user (email: admin@example.com, password: admin123)
- Run the application:
python run.py
The application will be available at http://localhost:5000
- Build and start the containers:
docker-compose up -d
- The application will be available at http://localhost:5000
- Build the production image:
docker build -t effect-crm:latest .
- Run the production container:
docker run -d -p 5000:5000 \
-e FLASK_ENV=production \
-e SECRET_KEY=your-secret-key \
-e DATABASE_URL=postgresql://user:password@host:5432/dbname \
-e MAIL_SERVER=smtp.example.com \
-e MAIL_PORT=587 \
-e MAIL_USE_TLS=True \
-e MAIL_USERNAME=your-email@example.com \
-e MAIL_PASSWORD=your-password \
effect-crm:latest
For more detailed production deployment instructions, see DEPLOYMENT.md.
- Database migrations:
flask db migrate -m "message"
andflask db upgrade
- Run tests:
python -m pytest
- Format code:
black .
- Check code style:
flake8
The API documentation is available at /api/docs
when running the application.
MIT License