🛠️ ProductTrack Project
ProductTrack es un sistema de gestión y trazabilidad de productos, desarrollado como parte de la formación en Análisis y Desarrollo de Software (ADSO) en el SENA.
El proyecto tiene como objetivo central proporcionar una solución moderna, eficiente y escalable para la administración de inventarios, optimizando procesos y mejorando la visibilidad de la información en tiempo real.
👩💻 Equipo de desarrollo
El desarrollo de ProductTrack ha sido posible gracias al trabajo colaborativo de:
- ✨ Maria Ximena Marin Delgado - GitHub: @Mari0724
- 💡 Emilia Gallo Alzate - GitHub: @Emilia851
📚 Acerca de esta documentación
Estás consultando la documentación oficial de ProductTrack, desarrollada con Docusaurus para asegurar una lectura clara, organizada y accesible.
Aquí encontrarás entre otras:
- Referencia técnica de backend y frontend
- Buenas prácticas y convenciones de desarrollo
- Flujos de trabajo de CI/CD
🧱 Estructura general del proyecto
📁 backend - Lógica del servidor (Node.js, Express, Prisma)
📁 frontend - Interfaz de usuario (React + Hooks + Vite)
📁 docs - Documentación técnica con Docusaurus
📁 .github/workflows - Configuración CI/CD para despliegues automáticos
🚀 Despliegue y entornos
- Documentación: hospedada en GitHub Pages con despliegue automático desde la rama
gh-pages
. - Backend: pruebas y despliegues realizados en Railway.
- Frontend: pruebas y despliegues en Vercel.
- Integración continua: mediante GitHub Actions.
📦 Tecnologías y herramientas
- Node.js – Entorno de ejecución para el backend.
- Express – Framework para la API REST.
- React – Librería para la interfaz de usuario.
- Prisma ORM – Abstracción y gestión de base de datos.
- Docusaurus – Generador de documentación estática.
- GitHub Pages – Hosting de la documentación.
- Railway – Despliegue y pruebas del backend.
- Vercel – Despliegue del frontend.
- GitHub Actions – Automatización de CI/CD.
🎯 Objetivos del proyecto
- Facilitar la trazabilidad de productos a lo largo de su ciclo de vida.
- Centralizar la gestión de inventarios para reducir errores y mejorar la eficiencia.
- Optimizar la experiencia de usuario mediante una interfaz moderna e intuitiva.
- Proporcionar una arquitectura escalable que permita futuras ampliaciones.