Skip to content

AmeriK88/Refactorizaci-n-cabigote-barber

Repository files navigation

✂️ Cabigote Barber Shop 🌟

📝 Descripción

Cabigote Barber Shop es una aplicación web integral diseñada para gestionar reservas de citas, reseñas y servicios en un Barber-Shop. Los usuarios pueden reservar servicios personalizados, visualizar citas activas y pasadas, y dejar comentarios detallados sobre su experiencia, mejorando así la interacción cliente-negocio. La aplicación incluye características como la separación de perfiles para clientes y administradores, notificaciones automáticas para confirmaciones y recordatorios, y una interfaz de usuario responsiva y amigable. Está construida utilizando Django como framework backend, Bootstrap para un diseño moderno y atractivo, y se complementa con una base de datos escalable para manejar eficientemente múltiples usuarios y transacciones.

🛠️ Tecnologías Utilizadas

Tecnología Descripción
🐍 Django Framework backend para una gestión robusta.
🎨 Bootstrap Diseño moderno, responsivo y estilizado.
🗄️ MySQL Base de datos escalable para múltiples usuarios.
🖼️ Pillow Gestión de imágenes y galería de productos.
🖋️ QRCode Generación de códigos QR para enlaces.
🔐 reCAPTCHA Seguridad adicional contra bots.
📊 Matplotlib Generación de gráficos para reportes.
📦 Django Suit Personalización avanzada del panel de administración.
🔔 Notificaciones por Email Confirmaciones, modificaciones y recordatorios automáticos.

📂 Estructura del Proyecto

El proyecto está compuesto por varias aplicaciones que manejan diferentes funcionalidades:

1. Appointments

  • Modelos:
    • Cita: Modelo que representa una cita, incluyendo campos como usuario, servicio, fecha, hora y comentario.
  • Formularios:
    • CitaForm: Formulario para crear y editar citas, con validación de fecha y hora.
  • Vistas:
    • reservar_cita: Permite a los usuarios reservar citas.
    • ver_citas: Muestra las citas activas y pasadas del usuario.

2. Users

  • Modelos:
    • UserProfile: Modelo que almacena información adicional del usuario.
  • Formularios:
    • CustomUserCreationForm: Formulario de registro personalizado.
  • Vistas:
    • login_view: Vista para iniciar sesión.
    • register: Vista para registrar nuevos usuarios.
    • perfil_usuario: Vista que muestra el perfil del usuario.

3. Reviews

  • Modelos:
    • Resena: Modelo que permite a los usuarios dejar reseñas sobre los servicios.
  • Formularios:
    • ResenaForm: Formulario para agregar reseñas.
  • Vistas:
    • ver_resenas: Vista que muestra todas las reseñas y permite agregar nuevas.

4. Services

  • Modelos:
    • Servicio: Modelo que representa los servicios ofrecidos en la barbería.
  • Formularios:
    • ServicioForm: Formulario para crear y editar servicios.
  • Vistas:
    • ver_servicios: Muestra todos los servicios disponibles.

5. Products

  • Modelos:
    • Imagen: Modelo que almacena imágenes de los productos.
  • Vistas:
    • ver_imagenes: Vista que muestra todas las imágenes de productos.
    • detalle_producto: Muestra detalles de un producto específico.

6. Reports

  • Modelos:
    • ReporteMensual: Reportes mensuales de ingresos y citas.
    • ReporteDiario: Reportes diarios generados bajo demanda.
  • Funcionalidades:
    • Generación de reportes diarios/mensuales con gráficos.
    • Reportes descargables en formato .txt.
    • Opción de generar reportes diarios desde el panel de administración seleccionando la fecha.
    • Limpieza automática de reportes innecesarios.

Instalación

Requisitos Previos

  • Python 3.8 o superior
  • Django 3.2 o superior

🚀 Características Principales

Gestión de Usuarios:

  • Registro, inicio de sesión y personalización de perfil.

Reservas de Citas:

  • Crear, editar, cancelar y gestionar historial de citas.
  • Fechas bloqueadas y horarios ocupados deshabilitados dinámicamente.

Reseñas de Servicios:

  • Los usuarios pueden agregar y consultar reseñas con puntuaciones.

Galería de Servicios y Productos:

  • Información detallada con imágenes y descripciones.

Notificaciones Automáticas:

  • Confirmaciones, recordatorios y cancelaciones vía correo.

Panel de Administración Personalizado:

  • Integración con Django Suit para una interfaz moderna.
  • Visualización de gráficos de citas e ingresos.

Reportes Dinámicos:

  • Generación de reportes diarios/mensuales por fecha seleccionada.
  • Descarga de reportes en texto.

Seguridad Mejorada:

  • Implementación de reCAPTCHA para prevenir bots.

Generador Código QR

Ejecuta generate_qr.py - asegúrate de incluir la URL de tu sitio.

Instala las depencias

pip install -r requirements.txt

⚙️ Instalación

1. Requisitos Previos

  • Python 3.8 o superior.
  • Django 3.2 o superior.

🔒 Licencia

Este proyecto, Cabigote Barber Shop, desarrollado por José Félix Gordo Castaño, está licenciado para uso exclusivo con fines educativos y de aprendizaje. No se permite su venta, redistribución comercial o cualquier uso con fines de lucro sin autorización expresa del autor.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published