Aplicacion web con varias tecnologias python: Backend>Pyramid, SQLalchymist y PostgreSQL; Frontend> React
-
Modelo Entidad-Relación (ER) para la base de datos.
- Usuario
- id (int)
- nombre (str)
- email [unique] (str)
- password [hash] (str)
- direccion (str)
- telefono (str)
- es_admin (bo)
- Producto
- id (int)
- nombre (str)
- marca (str)
- desc (str)
- precio (float)
- cant_dis (int)
- categoria (str)
- imagen (str)
- Pedidos
- id (int)
- usuario_id (int)
- total (float)
- estado (str)
- fecha_pedido (datatime)
- DetallePedido
- id (int)
- pedido_id (int)
- producto_id (int)
- cantidad (int)
- precio_unitario (float)
- Usuario
-
Componentes para la arquitectura del proyecto.
- App
- Autentificacion
- login
- Cliente
- editar perfil
- selccionar productos
- Productos (admin)
- Manejo de productos
- crear
- ver
- editar
- eliminar
- Manejo de productos
- Pedidos
- Crear Pedido
- Cancelar Pedido
- Autentificacion
- DataBase
- Usuario
- Producto
- Pedido
- DetallePedido
- App
- Backend (Pyramid): Gestiona la lógica del servidor, la base de datos y la autenticación.
- Frontend (React): Proporciona una interfaz de usuario interactiva para interactuar con el backend.
- Lenguaje: Python.
- Framework: Pyramid.
- Base de datos: PostgreSQL.
- ORM: SQLAlchemy.
- Autenticación: JSON Web Tokens (JWT) para la autenticación de usuarios.
- Lenguaje: JavaScript.
- Framework: React.
- Estilos: CSS
- pip install -r requirements.txt
- initialize_backend_db development.ini
- alembic -c development.ini upgrade head
- pserve development.ini
Pasos de instalacion del proyecto
- python -m venv env
- env\Scripts\activate
- pip install pyramid cookiecutter psycopg2
- cookiecutter gh:Pylons/pyramid-cookiecutter-starter
- opciones:
- project_name (Pyramid Scaffold): backend
- repo_name (backend): backend
- template_language: jinja2
- sql backend: sqlalchemy
- opciones:
- cd Pyramid-backend
- pip install --upgrade pip setuptools
- pip install -e ".[testing]"
- alembic -c development.ini revision --autogenerate -m "init"
- alembic -c development.ini upgrade head
- initialize_backend_db development.ini
- pytest
- pserve development.ini
- npm i
- npm start
- npx create-react-app frontend
- cd frontend
- npm i axios react-router-dom
- npm start




