Un sistema de comercio electrónico moderno construido con Django, integrado con Stripe para procesamiento de pagos seguro y totalmente containerizado con Docker. Optimizado para desarrollo en VS Code Dev Containers y pensado para un despliegue en producción sin complicaciones.
- ⚡ Backend Django 5.2.4 – Framework web robusto y seguro
- 💳 Stripe Checkout – Procesamiento de pagos rápido y confiable
- 📦 Gestión de Productos – CRUD completo con imágenes y precios
- 🖼️ Soporte de Imágenes – Carga y visualización de productos
- 🔧 Admin Personalizado – Import/Export de datos desde el panel de Django
- 📡 API REST – Endpoints con Django REST Framework
- 🐳 Containerización – Docker + Compose para dev/prod
- 🌐 Proxy Reverso – Nginx para estáticos y proxy
- 🖥️ Dev Containers – Entorno listo en VS Code
- 🎨 UI Moderna – Bootstrap 5 + HTMX para interacciones dinámicas
- Django · Django REST Framework
- dj-stripe (Stripe)
- Pillow (imágenes)
- WhiteNoise · django-import-export
- Bootstrap 5 + django-bootstrap5
- HTMX
- Docker & Docker Compose
- Nginx · Gunicorn · Uvicorn
- VS Code Dev Containers
- Git & GitHub
- SQLite (desarrollo) → PostgreSQL/MySQL (producción)
git clone <url-del-repositorio>
cd django-stripe-ecommerce
En productos/settings.py
cambia tus claves de Stripe:
STRIPE_LIVE_MODE = False # Cambiar a True en producción
STRIPE_SECRET_KEY = "tu_clave_secreta"
STRIPE_PUBLIC_KEY = "tu_clave_publica"
- Abrir en VS Code
- Instalar extensión Dev Containers
Ctrl+Shift+P
→ "Reopen in Container"
docker-compose up --build
docker-compose exec app python manage.py migrate
docker-compose exec app python manage.py createsuperuser
docker-compose exec app python manage.py collectstatic --noinput
- 🌍 App Principal → http://localhost/productos/
- 🔑 Admin → http://localhost/admin/
- 🔌 API Stripe → http://localhost/stripe/
django-stripe-ecommerce/
├── .devcontainer/ # Configuración Dev Containers
├── bases/ # Modelos base y auditoría
├── catalogo/ # Gestión de productos
├── pagos/ # Integración Stripe
├── productos/ # Configuración principal Django
├── nginx/ # Configuración Nginx
├── docker-compose.yml # Orquestación Docker
├── Dockerfile # Imagen principal
└── dependencias.txt # Requerimientos
- Listado con imágenes y precios
- Creación y edición desde panel de admin
- Importación/Exportación de productos
- Stripe Checkout con soporte de tarjetas
- Webhooks preparados para producción
- Páginas de éxito y error personalizadas
- Modelo de auditoría integrado
- API REST lista para integraciones
- Interfaz responsive (Bootstrap + HTMX)
- Configurar variables de entorno:
DEBUG = False
ALLOWED_HOSTS = ['tu-dominio.com']
STRIPE_LIVE_MODE = True
- Migrar a PostgreSQL/MySQL
- Configurar archivos estáticos en S3 u otro servicio
- Activar HTTPS/SSL con Nginx + Certbot
- Monitoreo y logging en servidor
docker-compose -f docker-compose.prod.yml up --build -d
Ejecutar tests:
docker-compose exec app python manage.py test
Pruebas de carga:
python estres.py
Migraciones:
docker-compose exec app python manage.py makemigrations
docker-compose exec app python manage.py migrate
- Claves de prueba ya configuradas
- Tarjeta de prueba:
4242 4242 4242 4242
- Generar claves reales en Stripe Dashboard
- Configurar Webhooks
- Activar
STRIPE_LIVE_MODE = True
- PostgreSQL por defecto
- Carrito de compras
- Sistema de inventario
- Cupones y descuentos
- Notificaciones por email
- Dashboard de analytics
- API GraphQL
- Integración con servicios de envío
- Haz un fork
- Crea una rama:
git checkout -b feature/nueva-funcionalidad
- Commit:
git commit -m 'Nueva funcionalidad'
- Push:
git push origin feature/nueva-funcionalidad
- Abre un Pull Request 🚀