Skip to content

RobertoOtarola/alke-crm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alke CRM - Sistema de Gestión de Clientes (MVP) 🚀

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.

📋 Descripción del Proyecto

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.

🎯 Objetivo

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.


🛠️ Stack Tecnológico

  • 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.

✨ Funcionalidades Principales

  1. Gestión de Clientes:
    • Creación de perfiles (Regular, Premium, Corporativo).
    • Validación estricta de emails y teléfonos (Regex).
    • Prevención de duplicados.
  2. Persistencia Robusta:
    • Base de datos SQLite como fuente de la verdad.
    • Sistema de logs para auditoría de operaciones.
  3. Portabilidad:
    • Exportación de reportes a JSON y CSV.

🚀 Instalación y Ejecución

  1. Clonar el repositorio:

    git clone [https://github.com/RobertoOtarola/alke-crm](https://github.com/RobertoOtarola/alke-crm)
    cd alke-crm
  2. Crear entorno virtual:

    python -m venv venv
    source venv/bin/activate  # Windows: venv\Scripts\activate
  3. Instalar dependencias:

    pip install -r requirements.txt
  4. Iniciar el sistema:

    python src/main.py

🏗️ Arquitectura del Sistema

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).

🧪 Testing

Para ejecutar las pruebas unitarias:

pytest tests/ -v

## 📊 Cobertura de Testing
pytest --cov=src --cov-report=term

About

Bootcamp Desarrollo Fullstack Python Trainee | Proyecto Módulo #4 | ABP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages