Nuevo proyecto "E-commerce" para piloto de full stack
Como parte del piloto de full stack...
E-commerce (integración con PayPal, Stripe, Culqui, etc)
Este proyecto está pensado para hacer en equipo, 2-3 personas, e involucra diseñar y construir una tienda online, incluyendo un backend con Node.js y una base de datos (a elegir entre MongoDB, Postgres y MySQL), así como una interfaz web. La aplicación resultante debe permitir crear usuario, iniciar sesión, navegar el catálogo de productos, agregarlos un shopping cart, hacer el pago a través de una pasarela de pago, ver el estado de pedidos, etc, además de poder administrar usuarios, catálogo y pedidos como administrador.
El tema para la tienda es libre, así como la elección de pasarela de pago (PayPal, Stripe, Culqui, etc). En este proyecto también queremos promover que todas las integrantes se involucren en todo el stack y evitar que se dividan entre front-end y back-end.
El principal objetivo de aprendizaje de este proyecto es tener que construir un sistema completo (backend + frontend) usando JavaScript. Como parte de este proceso, también es parte central el modelado de los datos de la aplicación, su representación en la base datos, así como una visión general de las distintas piezas que componen el sistema, cómo interactúan y los puntos de contacto. Para el front-end recomendamos usar algún framework popular como React, Angular o Vue.
OAs: Node.js, Express, Bases de datos, Autenticación, HTTP, REST, React/Angular/Vue, pasarela de pago.
Roadmap proyecto
En el server: Server express con su configuración para usar Prisma, GraphQL, registrar las rutas y middlewares necesarios
- Routes están bien avanzadas, pero no terminadas, hay que terminarlas y ajustar los detalles de ellas (lógicas de auth por ejemplo)
- Prisma Schema está casi terminado, habría que agregar user roles de 'owner' y 'user' (ya está el role 'admin')
- GraphQL Schema, falta agregar schemas con lógicas de carrito de compras y terminar las de users y productos para que reflejen los últimos cambios del schema de Prisma
- Faltan tests
En el cliente: Cliente de React que utiliza Apollo para consumir queries de GraphQL
- Hay que actualizar las queries de GraphQL de productos para reflejar los últimos cambios de sus esquemas
- Falta agregar lógica de autorización y autenticación para consultas
- Falta login de la App
- Falta lógica de consumo de data del carrito de compras y de user con GraphQL
- Faltan tests
Además, tanto los archivos de README como de OA's del proyecto están en WIP todavía.