MiniFCore es una plataforma web para la gestión de pedidos, productos, filamentos y sugerencias en un entorno de impresión 3D. Permite a los usuarios realizar pedidos personalizados y a los administradores gestionar productos, filamentos, usuarios y analizar tendencias y necesidades de stock.
- Backend: Desarrollado en Python con Flask, expone una API RESTful para gestionar usuarios, productos, filamentos, pedidos y sugerencias. Utiliza MongoDB como base de datos.
- Frontend: Desarrollado en React, permite a los usuarios y administradores interactuar con la plataforma de forma intuitiva y segura.
- Autenticación: Basada en JWT, con roles diferenciados para usuarios y administradores.
- Gestión de Pedidos: Los usuarios pueden ver y gestionar solo sus propios pedidos, mientras que los administradores pueden ver todos los pedidos.
-
Responsabilidad Única (SRP):
- El código se ha organizado en capas: Controllers, Services y Repositories.
- Cada clase tiene una única responsabilidad: los controladores gestionan la API, los servicios la lógica de negocio y los repositorios el acceso a datos.
-
Inversión de Dependencias (DIP):
- Los servicios reciben los repositorios como dependencias, permitiendo desacoplar la lógica de negocio del almacenamiento de datos y facilitando el testeo y la extensión.
-
Repository:
- Se crearon repositorios para cada entidad, encapsulando el acceso a la base de datos y desacoplando la lógica de negocio del almacenamiento.
-
Controller:
- Se implementaron controladores para cada entidad, que actúan como intermediarios entre la API y la lógica de negocio.
- Mantenibilidad: El código es más fácil de entender, modificar y extender.
- Escalabilidad: Permite agregar nuevas funcionalidades o entidades sin afectar el resto del sistema.
- Testabilidad: Cada capa puede ser testeada de forma independiente.
- Seguridad: Los usuarios solo pueden acceder a sus propios pedidos, mientras que los administradores tienen acceso global.
- Asegúrate de tener MongoDB corriendo localmente.
- Ejecuta el backend:
python -m backend.app
- Ejecuta el frontend:
cd frontend npm install npm start - Accede a la aplicación desde tu navegador en
http://localhost:3000.
MiniFCore es un ejemplo de aplicación web moderna, profesional y alineada con buenas prácticas de ingeniería de software.