https://github.com/pinanoel/school-api
https://github.com/pinanoel/school-api
api-rest asp-net clean-architecture csharp ddd-patterns entity-framework mvc repository-pattern school sql-server unit-of-work
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/pinanoel/school-api
- Owner: PinaNoel
- Created: 2025-06-10T23:13:26.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2025-06-19T18:40:36.000Z (7 months ago)
- Last Synced: 2025-06-19T19:40:03.161Z (7 months ago)
- Topics: api-rest, asp-net, clean-architecture, csharp, ddd-patterns, entity-framework, mvc, repository-pattern, school, sql-server, unit-of-work
- Language: C#
- Homepage:
- Size: 91.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🎓 School_API
API Rest para la gestion escolar que permite la autenticación de usuarios con diferentes roles (Alumnos, Docentes y Administradores), gestión de materias, calificaciones y periodos semestrales.
## 🚀 Tecnologías utilizadas
- ASP.NET Core 8
- Entity Framework Core
- SQL Server
- Unit of Work + Repository Pattern
## 📂 Estructura del proyecto
- `Core`: Entidades del dominio, interfaces.
- `Application`: Casos de uso, DTOs, servicios, validaciones.
- `Infrastructure`: Implementaciones de repositorios, EF, acceso a datos.
- `API`: Capa de presentación: controladores, middlewares.
```text
├── school-api/
│ ├── Properties/
│ ├── SQL/
│ │ |── Int.sql
│ |── Core/
│ |── Application/
│ |── Infrastructure/
│ |── API/
│ |── appsettings.Development.json
│ |── appsettings.json
| └── school_api.csproj
├── .gitignore
├── README.md
├── school_web_api.sln
```
## 🔐 Autenticación
- Autenticación basada en Json Web Token (JWT) con validacion de credenciales y control de acceso mediante roles de usuario.
- Hashing de contraseñas usando el algoritmo Argon2id
## 🗃️ Diagrama de Base de Datos

## 🛠️ Instalar paquetes y ejecutar el proyecto
Instalar paquetes nuget via terminal
```bash
dotnet restore
```
Ejecutar el proyecto
```bash
dotnet run --project school_api/school_api.csproj
```