Skip to content

maurilionava/api-catalogo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My ASP.NET Core Web API Learning Journey

About This Repository

Welcome to my personal project repository! Here, I am documenting my learning journey as I implement the concepts and techniques from an ASP.NET Core Web API course taught by José Carlos Macoratti . This repository serves as both a portfolio of my progress and a space for experimenting with various features and best practices in Web API development using the .NET platform.

What I'm Learning

This project is a hands-on application of the following topics covered in the course:

  • Building RESTful APIs : Creating APIs using ASP.NET Core, understanding REST principles, and working with JSON and HTTP protocols.
  • Entity Framework Core (EF Core) : Using Code-First approach with EF Core, applying Migrations, and working with databases through a Web API.
  • Routing and Filters : Setting up custom routes, implementing filters, and managing different response types.
  • Asynchronous Programming : Using async/await for better performance and scalability in API methods.
  • Error Handling and Logging : Implementing structured error handling and logging to track and debug issues effectively.
  • Security : Adding authentication and authorization with JWT tokens, and securing the API endpoints.
  • Data Pagination : Implementing data pagination to efficiently handle large data sets.
  • Design Patterns : Applying the Repository and Unit of Work patterns for better code organization and maintainability.
  • AutoMapper : Using AutoMapper to simplify object-to-object mapping.
  • API Versioning and Documentation : Implementing API versioning and using OpenAPI (Swagger) for clear and comprehensive API documentation.
  • Cross-Origin Resource Sharing (CORS) : Configuring CORS to allow or restrict access to the API from different origins.
  • API Consumption : Creating client applications using Angular and Windows Forms to consume and interact with the API.

Current Project

As part of my learning, I am building a sample Web API project that evolves with each new concept learned. The project covers:

  1. API Setup : Initial setup of the ASP.NET Core Web API with basic configurations and middleware.
  2. CRUD Operations : Implementing Create, Read, Update, and Delete operations using EF Core.
  3. Authentication and Authorization : Securing the API with JWT and role-based access control.
  4. Advanced Features : Adding features like pagination, filtering, and async methods to optimize the API.
  5. API Clients : Creating sample client applications in Angular and Windows Forms to demonstrate API consumption.

How to Use This Repository

Feel free to explore the code and see how different concepts are implemented. If you're also learning ASP.NET Core Web API, you can use this repository as a reference or for your own learning purposes.

Running the Project

  1. Clone the repository: git clone https://github.com/yourusername/your-repo-name.git
  2. Open the solution in Visual Studio.
  3. Restore the NuGet packages and build the project.
  4. Update the database using EF Core Migrations: dotnet ef database update
  5. Run the API project and test the endpoints using tools like Postman or Swagger.

Future Plans

As I continue to progress in the course, I plan to:

  • Implement more advanced features like caching and rate limiting.
  • Explore the integration of external services and third-party libraries.
  • Create more detailed documentation and testing for the API.
  • Build more sophisticated client applications to consume the API.

Contributing

I am open to suggestions, feedback, and collaboration! If you have ideas on how to improve this project or want to share your own experiences, feel free to open an issue or a pull request.

Acknowledgments

Special thanks to José Carlos Macoratti for providing such a comprehensive course and to the community for the support in my learning journey.

About

repo for Macoratti's API ASP.NET course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages