Este proyecto es un servicio de Backend (API REST) desarrollado en Python con el framework Flask, utilizando PostgreSQL como base de datos para la persistencia. La arquitectura maneja el ciclo CRUD (Crear, Leer, Actualizar y Eliminar) y cuenta con una integración asíncrona robusta con un Frontend simple en HTML.
Habilidades Expuestas:
- Backend: Python, Flask, Modularización.
- Base de Datos: PostgreSQL, Consultas SQL Seguras (
%sPlaceholders), y Migración de BBDD industrial. Originalmente este proyecto fue planteado en SQLite, pero fue migrado a PostgreSQL - Arquitectura: Diseño de Endpoints RESTful, manejo de peticiones HTTP (GET, POST, PUT, DELETE).
- Frontend Integration: Manejo de asincronía (JavaScript
fetch) y resolución de problemas de CORS.
- Lenguaje: Python 3.14.0
- Framework Web: Flask
- Base de Datos: PostgreSQL
- Conector DB: Psycopg2
- Manejo de Dependencias:
pip/venv - Integración Web: HTML / JavaScript ES6
| Método | Ruta | Descripción |
|---|---|---|
GET |
/alumnos |
Lista todos los alumnos. |
GET |
/alumnos/<id> |
Muestra un alumno específico. (Devuelve 404 si no existe). |
POST |
/alumnos |
Crea un nuevo alumno. (Requiere JSON con nombre y materia). |
PUT |
/alumnos/<id> |
Modifica un alumno existente. (Devuelve 404 si no existe). |
DELETE |
/alumnos/<id> |
Elimina un alumno. (Devuelve 404 si no existe). |
-
Clonar el Repositorio:
git clone https://github.com/ValuBelu/API-Gestion-Alumnos-Flask cd API-Gestion-Alumnos-Flask -
Crear y Activar el Entorno Virtual:
python -m venv venv .\venv\Scripts\activate
-
Instalar Dependencias:
pip install -r requirements.txt
- Asegúrate de que tu servidor PostgreSQL esté corriendo.
- Crea una base de datos en tu servidor PostgreSQL llamada
universidad_db. - Abre el archivo
database.pyy actualiza las variablesDB_USERyDB_PASScon tus credenciales de PostgreSQL. - Crea la Tabla: Ejecuta la siguiente consulta SQL en tu
universidad_dbpara inicializar la tabla:CREATE TABLE alumnos ( id SERIAL PRIMARY KEY, nombre TEXT NOT NULL, materia TEXT NOT NULL, nota REAL );
- Iniciar la API:
python web_app.py
- Probar la Interfaz: Abre el archivo
index.htmlen un navegador para interactuar con la API (agregar y eliminar alumnos).