Skip to content

orodrimez/MusicAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MusicAPI

API desarrollada con .NET 10, GraphQL y SQL Server siguiendo una arquitectura por capas inspirada en Clean Architecture.

🚀 Funcionalidades principales

  • Gestión de álbumes musicales
  • Gestión de artistas
  • Gestión de géneros musicales
  • API GraphQL
  • Paginación de resultados
  • Filtrado dinámico
  • Ordenamiento dinámico
  • Proyecciones optimizadas
  • Migraciones automáticas de base de datos
  • Seed automático de datos iniciales
  • Persistencia con SQL Server
  • Configuración mediante Dependency Injection
  • Configuración de entidades usando Fluent API
  • Arquitectura separada por capas

📦 Arquitectura

El proyecto se encuentra dividido en las siguientes capas:

  • API

    • Configuración de la aplicación
    • GraphQL
    • Extensiones
  • Application

    • Lógica de aplicación
    • Casos de uso
  • Domain

    • Entidades
    • Enumeraciones
    • Reglas de negocio
  • Infrastructure

    • Entity Framework Core
    • Persistencia
    • Migraciones
    • Configuración de entidades
    • Seed de datos

🧠 Características técnicas

  • ASP.NET Core 8
  • Entity Framework Core
  • SQL Server
  • GraphQL con HotChocolate
  • LINQ
  • Fluent API
  • Dependency Injection

🔥 GraphQL

La API permite:

  • Consultar álbumes
  • Consultar artistas
  • Consultar géneros
  • Aplicar filtros dinámicos
  • Aplicar ordenamiento dinámico
  • Paginación de resultados
  • Proyecciones optimizadas

🌱 Base de datos

La aplicación:

  • Ejecuta migraciones automáticamente
  • Genera datos iniciales automáticamente

🧪 Testing

El proyecto incluye soporte para:

  • Pruebas unitarias
  • Pruebas de integración
  • Bases de datos en memoria para testing

About

API desarrollada en .NET 10, GraphQL HotChocolate y SQL Server.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages