Este proyecto es una aplicación web desarrollada con Django y Django REST Framework, diseñada para gestionar usuarios, direcciones, pedidos y más. Incluye funcionalidades como autenticación, gestión de contraseñas, y un panel de administración personalizado.
- Python 3.8+
- Django 4.1.1
- PostgreSQL
- Redis (para Channels)
- Node.js (para el servicio de WhatsApp)
-
Clonar el repositorio:
git clone https://github.com/tu_usuario/kiki.git cd kiki
-
Crear y activar un entorno virtual:
python -m venv venv source venv/bin/activate # En Windows usa `venv\Scripts\activate`
-
Instalar las dependencias:
pip install -r requirements.txt
-
Configurar las variables de entorno:
Crea un archivo
.env
en la raíz del proyecto y define las siguientes variables:SECRET_KEY=tu_secreto DEBUG=1 SQL_DATABASE=kiki SQL_USER=postgres SQL_PASSWORD=postgres SQL_HOST=localhost SQL_PORT=5432
-
Realizar las migraciones de la base de datos:
python manage.py migrate
-
Cargar datos de prueba (opcional):
python populate_db.py
-
Ejecutar el servidor de desarrollo:
python manage.py runserver
-
Autenticación de Usuarios:
- Registro, inicio de sesión y recuperación de contraseñas.
- Activación de cuenta vía enlace de activación.
-
Gestión de Pedidos:
- Creación y seguimiento de pedidos.
- Notificaciones de estado de pedidos vía WhatsApp.
-
Panel de Administración:
- Personalizado con Jazzmin.
- Dashboard con estadísticas de ventas y pedidos.
-
Internacionalización:
- Soporte para inglés y español.
src/
: Contiene la configuración principal de Django.directorio/
: Aplicación para la gestión de usuarios y direcciones.api/
: Aplicación para la gestión de pedidos, productos y configuraciones.templates/
: Plantillas HTML para el frontend.locale/
: Archivos de traducción para internacionalización.
Este proyecto está configurado para ser desplegado en un VPS usando Docker y GitHub Actions. Asegúrate de configurar correctamente los secretos en GitHub para el despliegue automático.
Las contribuciones son bienvenidas. Por favor, sigue el flujo de trabajo de GitHub para enviar tus pull requests.