Curso: Desarrollo de Aplicaciones Fullstack Python Trainee (AM) Institución: SENCE OTEC: Pixelab Profesor: Ariel Rosenamnn Alumno: Roberto Otárola
⚠️ Nota de Versión (MVP): Este proyecto se entrega bajo la modalidad de Producto Mínimo Viable. Siguiendo principios de desarrollo ágil, se ha priorizado la robustez del Backend, la arquitectura Clean Code y la integridad de datos (SQLite/Validaciones). Las interfaces gráficas (GUI) y conexiones a APIs externas están planificadas para la "Fase 2" del roadmap, permitiendo una entrega funcional y testeable dentro del deadline crítico.
Alke CRM es una solución de software robusta y modular desarrollada en Python 3 para la gestión eficiente de clientes de la empresa Solution Tech.
Esta versión corresponde al Minimum Viable Product (MVP), diseñado para validar la lógica de negocio, la arquitectura orientada a objetos y la persistencia de datos segura antes de la implementación de interfaces gráficas complejas.
Proveer una herramienta de línea de comandos (CLI) que permita el ciclo de vida completo de la gestión de clientes (CRUD), asegurando la integridad de los datos mediante validaciones avanzadas y almacenamiento persistente en SQLite.
- Lenguaje: Python 3.10+
- Paradigma: Programación Orientada a Objetos (POO) [Herencia, Polimorfismo, Encapsulación].
- Base de Datos: SQLite 3 (Nativo).
- Intercambio de Datos: JSON / CSV.
- Arquitectura: Repository Pattern + Service Layer.
- Testing: Pytest.
- Gestión de Clientes:
- Creación de perfiles (Regular, Premium, Corporativo).
- Validación estricta de emails y teléfonos (Regex).
- Prevención de duplicados.
- Persistencia Robusta:
- Base de datos SQLite como fuente de la verdad.
- Sistema de logs para auditoría de operaciones.
- Portabilidad:
- Exportación de reportes a JSON y CSV.
-
Clonar el repositorio:
git clone [https://github.com/RobertoOtarola/alke-crm](https://github.com/RobertoOtarola/alke-crm) cd alke-crm -
Crear entorno virtual:
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
-
Instalar dependencias:
pip install -r requirements.txt
-
Iniciar el sistema:
python src/main.py
El proyecto sigue una arquitectura por capas para garantizar escalabilidad y mantenibilidad:
src/models: Definición de clases y reglas de negocio (POO).src/persistence: Capa de acceso a datos (Repository Pattern). Aísla la lógica SQL.src/services: Lógica de aplicación y orquestación.src/validators: Lógica de validación pura.src/main.py: Interfaz de usuario (CLI).
Para ejecutar las pruebas unitarias:
pytest tests/ -v
## 📊 Cobertura de Testing
pytest --cov=src --cov-report=term