Skip to content

A professional .NET API for managing movies, categories, and users with JWT Authentication and Role-based Authorization.

Notifications You must be signed in to change notification settings

jam300/ApiPeliculas_NetCore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Movie API πŸŽ₯

Description πŸ“‹

This is a RESTful API built with .NET Core and Entity Framework Core that allows managing movies, categories, and users. It includes authentication and authorization via JWT and .NET Identity. This project is designed as a review of advanced ASP.NET Core concepts and best practices for building professional APIs.


Features πŸš€

  • Full CRUD for Movies, Categories, and Users.
  • Authentication and authorization handling using JWT and .NET Identity.
  • Implementation of Service Layer for separated business logic.
  • Global Middleware for handling custom errors.
  • AutoMapper for mapping entities and DTOs.
  • Swagger configured for automatic API documentation.
  • Dependency configuration with Dependency Injection (DI).

Technologies Used πŸ”§

  • .NET Core 8.0
  • Entity Framework Core
  • AutoMapper
  • Swagger
  • JWT (JSON Web Tokens)
  • .NET Identity
  • SQL Server
  • C# (Async/Await, Generics, Dependency Injection)

Project Structure πŸ“‚

  • ApiPeliculas: Main project containing all the API logic.
    • Controllers/: Route controllers.
    • Services/: Business logic organized in layers (Service Layer).
    • Repositories/: Data access with generic and specific Repositories.
    • Extensions/: Configuration of Swagger, JWT, and Identity separated from Program.cs.
    • Entities/: Models and DTOs used in the application.
    • Migrations/: Entity Framework Core migrations.

Installation and Configuration πŸ”¨

  1. Clone the repository:
 git clone git@github.com:jam300/ApiPeliculas_NetCore.git
  1. Restore NuGet packages:
 dotnet restore
  1. Configure the database connection in appsettings.json:
"ConnectionStrings": {
    "ConexionSql": "Server=(localdb)\\MSSQLLocalDB;Database=ApiPeliculasDB;Trusted_Connection=True;"
}
  1. Apply Migrations:
 dotnet ef database update
  1. Run the application:
 dotnet run
  1. Access Swagger:
 https://localhost:5001/swagger/index.html

Main Endpoints πŸ“Œ

  • Categories: Full CRUD.
  • Movies: Full CRUD and advanced search.
  • Users: Registration, Login, and JWT authentication.

License πŸ“œ

MIT License


Author πŸ’Ό

Created by Javier Adan Mendez Mendez as part of an advanced .NET Core review.

About

A professional .NET API for managing movies, categories, and users with JWT Authentication and Role-based Authorization.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages