Bienvenido/a al espacio del equipo fullstack del proyecto CelestialBloom 🌿🌌
Nuestro trabajo se centra en construir y mantener tanto el backend (API y lógica de servidor) como el frontend (interfaz visual y experiencia de usuario) del sistema.
Este proyecto integra un blog temático de astronomía y botánica, con gestión de usuarios y control de roles.
El sistema de CelestialBloom está diseñado para ofrecer una experiencia completa tanto para visitantes como para administradores:
- Usuario registrado: puede ver los posts publicados.
- Administrador: puede crear, editar, eliminar y ver posts del blog.
El backend expone una API RESTful que gestiona la lógica de negocio y la comunicación con la base de datos.
Funciones principales:
- Gestión de usuarios y roles (usuario / admin).
- Creación, edición, eliminación y consulta de posts.
- Autenticación y autorización segura mediante tokens JWT.
- Validación de datos y control de errores.
El frontend ofrece una interfaz intuitiva y visualmente atractiva que permite navegar entre los distintos posts del blog.
Funciones principales:
- Visualización de publicaciones existentes.
- Formulario de inicio de sesión y registro de usuarios.
- Panel de administración con herramientas CRUD (solo para administradores).
- Integración con la API mediante Fetch API.
El proyecto CelestialBloom se desarrolla en un entorno Fullstack con MySQL, empleando las siguientes herramientas:
- Lenguaje: TypeScript, JavaScript
- Framework: Express
- Base de datos: MySQL
- ORM / Query Builder: Sequelize
- Autenticación: JWT + bcrypt
- Herramientas: Node.js, Postman, Jest
- Framework: React
- Routing: React Router DOM
- Estilos: CSS3 + Responsive Design
- Consumo de API: Fetch API
- Alertas: SweetAlert2
- Gestión de imágenes: Cloudinary
- Testing: Vitest + React Testing Library
- CelestialBloom-Server → Backend del proyecto (API principal).
- CelestialBloom-Client → Frontend del proyecto (interfaz visual).
El equipo fullstack está conformado por estudiantes del Bootcamp Fullstack Web de Factoría F5:
- Crear una rama para cada nueva funcionalidad o corrección.
- Desarrollar y testear los cambios localmente.
- Abrir un Pull Request y esperar revisión de otro miembro del equipo.
- Hacer merge solo después de la aprobación.