Skip to content

MixDark/TiendaVirtual

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tienda virtual (NOVA TECH)

Una plataforma de comercio electrónico completa y moderna construida con una arquitectura de microservicios limpia, utilizando FastAPI para el backend y HTML5/TailwindCSS/Vanilla JS para el frontend.

Características principales

Frontend

  • Diseño Responsivo: Interfaz usuario moderna con TailwindCSS, modo oscuro/claro (Dark Blue Theme).
  • Carrito de Compras: Gestión de productos, cálculo de totales y persistencia.
  • Lista de Deseos: Guarda productos favoritos.
  • Blog Integrado: Sección de noticias y artículos tecnológicos.
  • Sistema de Reseñas: Calificación y comentarios de productos.
  • Pagos Integrados: Soporte para Stripe, PayPal y simulación de PSE/Efecty.

Backend (FastAPI)

  • API RESTful: Endpoints seguros y documentados automáticamente (Swagger UI).
  • Autenticación JWT: Registro y login de usuarios con roles (admin/cliente).
  • Base de Datos: PostgreSQL con SQLAlchemy ORM y Alembic para migraciones.
  • Seguridad: Hashing de contraseñas con bcrypt, protección contra inyección SQL.
  • Microservicios: Módulos separados para productos, usuarios, órdenes, pagos, etc.

Requisitos previos

  • Python 3.10+
  • PostgreSQL
  • Node.js (opcional, para gestión de paquetes frontend si se requiere)

Instalación y ejecución

  1. Clonar el repositorio:

    git clone <url-del-repositorio>
    cd TiendaVirtual
  2. Configurar variables de entorno: Crea un archivo .env en la carpeta backend/ con las siguientes variables:

    POSTGRES_USER=postgres
    POSTGRES_PASSWORD=tu_contraseña
    POSTGRES_DB=tienda_virtual
    SECRET_KEY=tu_clave_secreta
    STRIPE_SECRET_KEY=sk_test_...
    PAYPAL_CLIENT_ID=...
    EPAYCO_PUBLIC_KEY=...
  3. Ejecutar la Aplicación: El proyecto incluye un script automatizado para gestionar el entorno virtual y los servicios:

    python run_services.py

    Este comando:

    • Creará/Activará el entorno virtual (.venv).
    • Instalará las dependencias necesarias.
    • Iniciará el servidor Backend en http://127.0.0.1:8080.
    • Iniciará el servidor Frontend en http://127.0.0.1:3000.
    • Abrirá el navegador automáticamente.

Estructura del proyecto

TiendaVirtual/
├── backend/
│   ├── app/
│   │   ├── api/          # Endpoints de la API
│   │   ├── core/         # Configuración (config.py)
│   │   ├── db/           # Conexión a BD
│   │   ├── models/       # Modelos SQLAlchemy
│   │   ├── schemas/      # Esquemas Pydantic
│   │   └── services/     # Lógica de negocio
│   ├── tienda_virtual.sql # Script de creación de BD
│   └── main.py           # Punto de entrada FastAPI
├── frontend/
│   ├── static/           # CSS, JS, Imágenes
│   ├── templates/        # Archivos HTML
│   └── main.py           # Servidor de archivos estáticos
└── run_services.py       # Script de orquestación

Contribución

  1. Haz un Fork del proyecto.
  2. Crea una rama para tu característica (git checkout -b feature/nueva-caracteristica).
  3. Haz Commit de tus cambios (git commit -m 'Añadir nueva característica').
  4. Haz Push a la rama (git push origin feature/nueva-caracteristica).
  5. Abre un Pull Request.

Licencia

Este proyecto está bajo la Licencia MIT.

About

Una plataforma de comercio electrónico completa y moderna construida con una arquitectura de microservicios limpia, utilizando FastAPI para el backend y HTML5/TailwindCSS/Vanilla JS para el frontend.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors