Proyecto desarrollado como parte de una simulación laboral en No Country.
Esta aplicación está dirigida a instituciones educativas, ya sean públicas o privadas, que se encuentren en transición hacia la digitalización de la información relevante para los profesores, estudiantes y sus padres. Puede ser utilizada tanto en nivel primario como secundario. Su finalidad es sustituir el boletín de notas y el cuaderno de comunicados, permitiendo que la información llegue a los padres de forma más dinámica y que tengan un mayor control sobre la enseñanza de sus hijos.
- Descripción
- Tecnologías
- Instalación
- Uso
- Despliegue
- Documentación
- Contribución
- Agradecimientos
- Autores
Esta plataforma ofrece las siguientes funcionalidades a los usuarios:
- Administradores: Administrar usuarios y roles.
- Alumnos, Padres y Profesores: Iniciar sesión y gestionar sus cuentas.
- Profesores: Registrar el rendimiento académico, proporcionar retroalimentación y enviar notificaciones.
- Alumnos y Padres: Consultar el rendimiento académico, la retroalimentación recibida y las notificaciones.
- Administradores: Control total sobre los usuarios y roles dentro de la plataforma.
- Alumnos, Padres y Profesores: Acceso a sus respectivas cuentas para gestionar información personal y académica.
- Profesores: Capacidad para ingresar notas, ofrecer comentarios y comunicar novedades a los estudiantes y sus familias.
- Alumnos y Padres: Visualización de información académica, retroalimentación de los profesores y notificaciones importantes.
-
Backend:
- Java 17
- Spring Boot 3.3.3, con módulos:
- Actuator
- Data JPA
- Security
- Validation
- Web
- Thymeleaf
- Springdoc OpenAPI (para documentación)
- MySQL / PostgreSQL (base de datos)
- JWT (Auth0 Java JWT para autenticación)
-
Frontend:
- React 18.3.1
- Chakra UI y Emotion (para estilos)
- React Hook Form (para manejo de formularios)
- Framer Motion (animaciones)
- Axios (para peticiones HTTP)
- React Router DOM (para manejo de rutas)
-
Otros:
- Swagger (para documentación de API)
- Postman / Insomnia (para pruebas de API)
-
Clona el repositorio:
git clone https://github.com/No-Country-simulation/c20-09-ft-java-react/FrontEnd cd plataforma-evaluacion/frontend
-
Instala las dependencias:
npm install
-
Inicia el servidor de desarrollo:
npm run dev
La aplicación estará disponible en
http://localhost:5173
.
-
Clona el repositorio (si aún no lo has hecho):
git clone https://github.com/No-Country-simulation/c20-09-ft-java-react/BackEnd
-
Configura la base de datos. Asegúrate de tener MySQL instalado y una base de datos creada. Actualiza las credenciales en el archivo
application.properties
:spring.datasource.url=jdbc:mysql://localhost:3306/tu_base_de_datos spring.datasource.username=tu_usuario spring.datasource.password=tu_contraseña
-
Compila e inicia el backend:
./mvnw spring-boot:run
El backend estará disponible en
http://localhost:8080
.
- Inicia sesión en la aplicación web en
http://localhost:3000/login
. - Accede a las diferentes secciones de la plataforma, como el perfil del estudiante, rendimiento académico y administración, dependiendo de los permisos del usuario.
- Gestiona los datos y perfiles de los estudiantes según los permisos y roles asignados.
Para desplegar la aplicación en un entorno de producción, realiza los siguientes pasos:
-
Frontend:
-
Construye el proyecto con Vite:
npm run build
-
El contenido de la carpeta
dist
puede ser servido por un servidor web estático.
-
-
Backend:
-
Compila el proyecto con Maven:
./mvnw package
-
Despliega el archivo JAR resultante en un servidor de aplicaciones o plataforma en la nube (AWS, Heroku, etc.).
-
Aquí puedes acceder a la documentación específica de cada una de las áreas del proyecto:
¡Las contribuciones son bienvenidas! Si deseas contribuir a este proyecto:
- Realiza un fork del repositorio.
- Crea una rama para tu característica (
git checkout -b feature/nueva-caracteristica
). - Realiza los cambios y haz commit (
git commit -m "Añadir nueva caracteristica"
)
Este proyecto fue posible gracias a la organización de simulaciones laborales por parte de No Country. Agradecemos a todo su equipo por brindar un espacio donde los desarrolladores pueden poner en práctica sus habilidades y colaborar en proyectos reales, contribuyendo al crecimiento profesional de todos los participantes.
Proyecto creado por:
Paloma acompañó al equipo como Team Leader, guiándonos en el proceso y ofreciendo soporte. Aunque no participó en la escritura de código ni en la toma de decisiones técnicas, su presencia y liderazgo fueron fundamentales para el éxito del proyecto.