ISCOUTB / DG-CASGRADES

0 stars 0 forks source link

Trabajo en el backend de la app #9

Open altcamvi opened 1 month ago

stevencontre commented 1 month ago

Para crear el backend de una aplicación de gestión de notas y asignaturas, primero es necesario definir los requisitos clave del sistema. Esto incluye almacenar la información de los estudiantes y asignaturas, registrar y calcular las calificaciones, así como generar reportes y estadísticas. También es importante decidir si la aplicación requiere autenticación de usuarios, lo que implicaría implementar mecanismos como JWT o OAuth.

El siguiente paso es elegir el stack tecnológico. Se puede optar por lenguajes como Python (con Flask o Django), Node.js, o Java (con Spring Boot), y una base de datos adecuada, como MySQL o MongoDB. Es crucial definir la arquitectura de la API, ya sea REST o GraphQL, para gestionar la comunicación entre el frontend y el backend. Además, hay que configurar el entorno de desarrollo y las dependencias necesarias para el proyecto.

stevencontre commented 1 month ago

El diseño de la base de datos es fundamental. Se deben crear tablas para estudiantes, asignaturas y calificaciones, asegurando que las relaciones entre ellas estén bien modeladas. Esto permitirá que el backend gestione de manera eficiente la información, realizando operaciones como calcular promedios y generar reportes de forma precisa.

Una vez definido el esquema de la base de datos, se desarrollan los endpoints del API que manejarán las operaciones principales. Por ejemplo, los endpoints permitirán obtener listas de estudiantes, registrar calificaciones y calcular promedios. También es importante implementar validaciones para asegurar que las notas sean válidas y proteger la seguridad del sistema frente a posibles ataques.

stevencontre commented 1 month ago

Finalmente, después de desarrollar el backend, es necesario realizar pruebas unitarias e integrales para asegurar su correcto funcionamiento. Luego, se puede desplegar el sistema en un servicio de la nube como AWS o Heroku. Después del despliegue, se deben implementar sistemas de monitoreo y mantener el backend actualizado, optimizando su rendimiento y escalabilidad para manejar grandes volúmenes de datos.

stevencontre commented 1 month ago

este es el concepto preliminar de como planeamos realizar el codigo esta es una base que hemos estado trabajando para tener mas o menos la idea de como empezar y como seguir avanzando

const express = require('express'); const bodyParser = require('body-parser'); const sqlite3 = require('sqlite3').verbose();

const app = express(); const db = new sqlite3.Database(':memory:'); // Base de datos en memoria

app.use(bodyParser.json());

// Crear tablas db.serialize(() => { db.run("CREATE TABLE student (id INTEGER PRIMARY KEY, name TEXT)"); db.run("CREATE TABLE subject (id INTEGER PRIMARY KEY, name TEXT)"); db.run("CREATE TABLE grade (id INTEGER PRIMARY KEY, student_id INTEGER, subject_id INTEGER, grade REAL)"); });

// Añadir un nuevo estudiante app.post('/students', (req, res) => { const { name } = req.body; db.run("INSERT INTO student (name) VALUES (?)", [name], function(err) { if (err) { return res.status(500).json({ error: err.message }); }