https://github.com/ginto11/gestionuniversidad-back
Aplicacion para la gestion de una universidad, se pueden agregar docentes, estudiantes, materias, con su respectiva inscripción de matriculas y fue desarrollado en Visual Studio, usando Sql Server y NET CORE 8.
https://github.com/ginto11/gestionuniversidad-back
api-rest csharp entity-framework-core netcore procedures sql-server visual-studio
Last synced: about 2 months ago
JSON representation
Aplicacion para la gestion de una universidad, se pueden agregar docentes, estudiantes, materias, con su respectiva inscripción de matriculas y fue desarrollado en Visual Studio, usando Sql Server y NET CORE 8.
- Host: GitHub
- URL: https://github.com/ginto11/gestionuniversidad-back
- Owner: Ginto11
- Created: 2025-05-25T07:59:27.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-24T03:27:55.000Z (12 months ago)
- Last Synced: 2025-06-24T04:29:39.407Z (12 months ago)
- Topics: api-rest, csharp, entity-framework-core, netcore, procedures, sql-server, visual-studio
- Language: C#
- Homepage:
- Size: 106 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# 🎓 Gestión Universidad-Back




Esta es la **API REST para la Gestión Universitaria de NovaUniversitas**.
Se encarga de administrar estudiantes, docentes, materias, matrículas y otros elementos críticos para la operación de la universidad, utilizando procedimientos almacenados para garantizar eficiencia y seguridad en la administración de datos.
## 📋 Tabla de Contenido
- [🎓 Gestión Universidad-Back](#-gestión-universidad-back)
- [📋 Tabla de Contenido](#-tabla-de-contenido)
- [🗂️ Estructura del Proyecto](#️-estructura-del-proyecto)
- [⚡️ Descripción General](#️-descripción-general)
- [⚙️ Instalación y Ejecutable Local](#️-instalación-y-ejecutable-local)
- [1️⃣ Clonar este repositorio](#1️⃣-clonar-este-repositorio)
- [2️⃣ Configurar el `appsettings.json`](#2️⃣-configurar-el-appsettingsjson)
- [3️⃣ Ejecutar Scripts para Procedimientos Almacenados](#3️⃣-ejecutar-scripts-para-procedimientos-almacenados)
- [4️⃣ Ejecutar Migraciones EF](#4️⃣-ejecutar-migraciones-ef)
- [5️⃣ Ejecutar el Proyecto](#5️⃣-ejecutar-el-proyecto)
- [6️⃣ Acceder a la Documentación de la API](#6️⃣-acceder-a-la-documentación-de-la-api)
- [🌐 Características principales](#-características-principales)
- [📁 Scripts principales](#-scripts-principales)
- [🔄 Endpoints principales](#-endpoints-principales)
- [🔐 Seguridad](#-seguridad)
- [💻 Próximas Actualizaciones](#-próximas-actualizaciones)
- [👥 Contribución](#-contribución)
- [✉️ Contacto](#️-contacto)
## 🗂️ Estructura del Proyecto
```plaintext
📁 GestionUniversidad-Back/
├─ 📁 Authentication/ → Controlador de Autenticación
├─ 📁 Controllers/ → Controladores REST
├─ 📁 Db/ → Migraciones y Contexto EF
├─ 📁 Dtos/ → Objetos de Transferencia de Datos
├─ 📁 Interfaces/ → Interfaces de servicios
├─ 📁 Models/ → Modelos de entidad
├─ 📁 Services/ → Lógica de negocio
├─ 📁 Utilies/ → Scripts y procedimientos almacenados
└─ Program.cs → Configuración de la app
```
## ⚡️ Descripción General
✅ Framework: .NET 8 (ASP.NET Core)
✅ Lenguaje: C# 12.0
✅ ORM: Entity Framework 8.0 para mapeo de datos y migraciones.
✅ Base de Datos: SQL Server 2019
✅ Autenticación y autorización con JWT.
✅ Scripts para procedimientos críticos y generación de matrículas.
✅ Validaciones para garantizar integridad de datos.
✅ Endpoints REST para estudiantes, docentes, materias y matrículas.
## ⚙️ Instalación y Ejecutable Local
#### 1️⃣ Clonar este repositorio
```bash
git clone https://github.com/Ginto11/GestionUniversidad-Back.git
```
#### 2️⃣ Configurar el `appsettings.json`
```json
{
"ConnectionStrings": {
"DefaultConnection": "Server=TU_SERVIDOR;Database=TU_BASE_DATOS;User Id=TU_USER;Password=TU_PASSWORD;TrustServerCertificate=true"
},
"CONFIGURACION_EMAIL": {
"HOST": "smtp.tu-servidor.com",
"PUERTO": 587,
"EMAIL": "tu-correo@dominio.com",
"PASSWORD": "tu-contraseña-de-aplicacion"
},
"Encrypting": {
"IV": "vector_inicializacion_16_caracteres",
"Key": "clave_de_encriptacion_segura (recomendada de 32 caracteres)"
},
"Jwt": {
"Issuer": "https://tudominio.com",
"Audience": "https://tucliente.com",
"Key": "clave_secreta_para_tokens"
}
}
```
#### 3️⃣ Ejecutar Scripts para Procedimientos Almacenados
- Abre SQL Server e importa los procedimientos que encontrarás en la carpeta `Db/Script`.
#### 4️⃣ Ejecutar Migraciones EF
```bash
dotnet ef database update
```
#### 5️⃣ Ejecutar el Proyecto
- Ejecuta con Visual Studio 2022 (`F5`) o por CLI:
```bash
dotnet run
```
#### 6️⃣ Acceder a la Documentación de la API
```bash
http://localhost:/swagger
```
### 🌐 Características principales
- 👥 Estudiantes: Crear, editar, consultar y eliminar estudiantes.
- 👔 Docentes: Gestión de datos de los docentes.
- 📚 Materias: Crear y administrar asignaturas, créditos y costos.
- 💳 Matrículas: Generación de matrículas basada en procedimientos almacenados.
- ✅ Validaciones de datos para garantizar integridad.
- 📄 Swagger UI para documentación y pruebas.
## 📁 Scripts principales
| Comando | Descripción |
| -------------------------------------- | ------------------------------------------------------------ |
| `dotnet build` | Compila la solución .NET. |
| `dotnet run` | Ejecuta la aplicación en local. |
| `dotnet ef database update` | Aplica todas las migraciones pendientes en la base de datos. |
| `dotnet ef migrations add ` | Crea una nueva migración para reflejar cambios en el modelo. |
| `dotnet ef migrations remove ` | Elimina una migración no deseada. |
## 🔄 Endpoints principales
| Recurso | Método | Ruta | Descripción |
| ----------- | ------ | ------------------ | ---------------------------------------- |
| Estudiantes | GET | `/api/estudiantes` | Lista todos los estudiantes. |
| Docentes | GET | `/api/docentes` | Lista todos los docentes. |
| Login | POST | `/api/login` | Autenticación de usuarios. |
| Materias | GET | `/api/materias` | Lista todas las materias. |
| Matrículas | POST | `/api/matriculas` | Genera una matrícula para un estudiante. |
## 🔐 Seguridad
- 🔑 Autenticación mediante JWT Bearer Tokens para todas las rutas privadas.
- ⚔️ Protección contra inyecciones SQL y validación de datos en todos los endpoints.
- 🔐 Encriptación de contraseñas para garantizar la seguridad de la información.
## 💻 Próximas Actualizaciones
- [ ] Integración con el Front‑End en Angular.
- [x] Finalización de todos los endpoints restantes.
- [x] Implementación de lógica para generación de matrículas mediante procedimientos.
- [x] Mejoras en la estructura de la lógica de servicios.
## 👥 Contribución
Si deseas contribuir al proyecto:
1. Realiza un fork del proyecto.
2. Crea una nueva rama para tu feature:
```bash
git checkout -b feature/nueva-funcionalidad
```
3. Agrega todos los cambios:
```bash
git add .
```
4. Haz commit de los cambios:
```bash
git commit -m "Agrega nueva funcionalidad"
```
5. Push al repositorio:
```bash
git push origin feature/nueva-funcionalidad
```
## ✉️ Contacto
Si deseas comunicarte para colaborar, obtener soporte o hacer consultas:
- 📧 Email: salinitosnelson@gmail.com