Skip to content

No-Country-simulation/c20-09-ft-java-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo School Manager

Estado del Proyecto PRs Welcome

Java Spring Boot MySQL PostgreSQL React React Router DOM Axios Swagger JWT

School Manager

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.

Tabla de Contenidos

Descripción

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.

Características

  • 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.

Tecnologías

  • 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)

Instalación

Frontend

  1. Clona el repositorio:

    git clone https://github.com/No-Country-simulation/c20-09-ft-java-react/FrontEnd
    cd plataforma-evaluacion/frontend
  2. Instala las dependencias:

    npm install
  3. Inicia el servidor de desarrollo:

    npm run dev

    La aplicación estará disponible en http://localhost:5173.

Backend

  1. Clona el repositorio (si aún no lo has hecho):

    git clone https://github.com/No-Country-simulation/c20-09-ft-java-react/BackEnd
  2. 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
  3. Compila e inicia el backend:

    ./mvnw spring-boot:run

    El backend estará disponible en http://localhost:8080.

Uso

  1. Inicia sesión en la aplicación web en http://localhost:3000/login.
  2. 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.
  3. Gestiona los datos y perfiles de los estudiantes según los permisos y roles asignados.

Despliegue

Para desplegar la aplicación en un entorno de producción, realiza los siguientes pasos:

  1. Frontend:

    • Construye el proyecto con Vite:

      npm run build
    • El contenido de la carpeta dist puede ser servido por un servidor web estático.

  2. 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.).

Documentación

Aquí puedes acceder a la documentación específica de cada una de las áreas del proyecto:

Contribución

¡Las contribuciones son bienvenidas! Si deseas contribuir a este proyecto:

  1. Realiza un fork del repositorio.
  2. Crea una rama para tu característica (git checkout -b feature/nueva-caracteristica).
  3. Realiza los cambios y haz commit (git commit -m "Añadir nueva caracteristica")

Agradecimientos

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.

Autores

Proyecto creado por:

Fica

Deyvi Correa Zamora | Front-end

GitHub LinkedIn

CVTecno

Diego Veras | Back-end

GitHub LinkedIn

Jaracax

Jose Antonio Dominguez | Back-end

GitHub LinkedIn

AlejandroPerez

Alejandro Perez | Back-end

GitHub LinkedIn

jorrego-runa

Jhon Orrego | Full-Stack

GitHub LinkedIn

Fica

Yesica Fica Millán | Full-stack

GitHub LinkedIn

KarinaReguera

Karina Reguera | QA Tester

GitHub LinkedIn

Paloma Carnaghi

Paloma Carnaghi | Team Leader

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.

Behance LinkedIn