CRM System es una aplicación web completa desarrollada en Django para la gestión integral de relaciones con clientes. Permite administrar clientes, oportunidades de venta, tareas y contactos de manera eficiente y organizada.
- Registro completo de información de clientes
- Historial de interacciones y contactos
- Seguimiento de oportunidades asociadas
- Gestión de tareas relacionadas
- Creación y seguimiento de oportunidades de venta
- Estados personalizables (Nueva, En Progreso, Ganada, Perdida)
- Valoración económica y probabilidad de cierre
- Fechas de cierre y seguimiento
- Creación y asignación de tareas
- Prioridades configurables (Alta, Media, Baja)
- Estados de progreso (Pendiente, En Progreso, Completada)
- Fechas de vencimiento y recordatorios
- Registro de todas las interacciones con clientes
- Tipos de contacto configurables
- Seguimiento de resultados y próximas acciones
- Historial completo de comunicación
- Estadísticas en tiempo real
- Gráficos de oportunidades por estado
- Tareas próximas a vencer
- Métricas de rendimiento
Vista general del sistema con estadísticas y métricas clave
Gestión completa de clientes con búsqueda y filtros
Creación y edición de oportunidades de venta
Gestión de tareas con prioridades y estados
- Python 3.8 o superior
- pip (gestor de paquetes de Python)
- Git
- Clonar el repositorio
git clone https://github.com/tu-usuario/CRM-djxsample.git
cd CRM-djxsample- Crear entorno virtual
python -m venv env
source env/bin/activate # En Linux/Mac
# o
env\Scripts\activate # En Windows- Instalar dependencias
pip install -r requirements.txt- Configurar base de datos
python manage.py makemigrations
python manage.py migrate- Crear superusuario
python manage.py createsuperuser- Ejecutar el servidor
python manage.py runserver- URL: http://127.0.0.1:8000/
- Usuario por defecto: admin
- Contraseña por defecto: admin
- Django 5.2.5 - Framework web de alto nivel
- SQLite - Base de datos ligera (configurable para producción)
- Python 3.8+ - Lenguaje de programación
- Bootstrap 5.3.0 - Framework CSS responsive
- Bootstrap Icons - Iconografía moderna
- JavaScript ES6+ - Interactividad del lado del cliente
- Django Crispy Forms - Formularios con mejor presentación
- Crispy Bootstrap5 - Integración con Bootstrap 5
CRM-djxsample/
├── core/ # Aplicación principal
│ ├── models.py # Modelos de datos
│ ├── views.py # Vistas y lógica de negocio
│ ├── forms.py # Formularios
│ ├── admin.py # Configuración del admin
│ └── urls.py # URLs de la aplicación
├── res_crm/ # Configuración del proyecto
│ ├── settings.py # Configuración general
│ ├── urls.py # URLs principales
│ └── wsgi.py # Configuración WSGI
├── templates/ # Plantillas HTML
│ ├── base.html # Plantilla base
│ └── crm/ # Plantillas específicas
│ ├── dashboard.html # Dashboard principal
│ ├── cliente_*.html # Plantillas de clientes
│ ├── oportunidad_*.html # Plantillas de oportunidades
│ └── tarea_*.html # Plantillas de tareas
├── static/ # Archivos estáticos
├── requirements.txt # Dependencias del proyecto
└── manage.py # Script de gestión de Django
Crea un archivo .env en la raíz del proyecto:
SECRET_KEY=tu-clave-secreta-aqui
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1
DATABASE_URL=sqlite:///db.sqlite3El proyecto está configurado para usar SQLite por defecto. Para producción, puedes cambiar a PostgreSQL o MySQL en res_crm/settings.py.
- Mobile First: Diseño optimizado para dispositivos móviles
- Responsive: Se adapta a todos los tamaños de pantalla
- Touch Friendly: Interfaz optimizada para pantallas táctiles
- Autenticación: Sistema de login/logout integrado
- Autorización: Control de acceso basado en usuarios
- CSRF Protection: Protección contra ataques CSRF
- XSS Protection: Protección contra ataques XSS
# Ejecutar tests
python manage.py test
# Ejecutar tests con cobertura
coverage run --source='.' manage.py test
coverage report# Construir imagen
docker build -t crm-system .
# Ejecutar contenedor
docker run -p 8000:8000 crm-system- Configurar servidor web (Nginx/Apache)
- Configurar WSGI (Gunicorn/uWSGI)
- Configurar base de datos de producción
- Configurar variables de entorno
- Ejecutar migraciones
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
- Tu Nombre - Desarrollo inicial - TuUsuario
- Django Software Foundation por el excelente framework
- Bootstrap Team por el framework CSS
- Comunidad de desarrolladores Python/Django
Si tienes alguna pregunta o necesitas ayuda:
- 📧 Email: tu-email@ejemplo.com
- 🐛 Issues: GitHub Issues
- 📖 Documentación: Wiki del Proyecto
- v1.0.0 - Versión inicial con funcionalidades básicas
- v1.1.0 - Agregado sistema de tareas
- v1.2.0 - Mejoras en el dashboard y reportes
⭐ ¡No olvides dar una estrella al proyecto si te ha sido útil!