-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8f9030c
commit 677bd13
Showing
1 changed file
with
40 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,48 @@ | ||
# API Boilerplate | ||
|
||
This repository provides a boilerplate for creating a fully functional API using .NET technologies. It includes the setup for StyleCop, Entity Framework Core (EF Core), Swagger UI, AutoFixture, and Moq. The solution is structured with separate projects for Business Logic, Data Access, and API Endpoints to promote clean architecture and maintainability. | ||
# 🎉 Welcome to the .NET API Boilerplate! 🚀 | ||
Hey there, fellow coder! 👋 | ||
|
||
## Table of Contents | ||
You've just discovered the .NET API Boilerplate, a fantastic starting point for diving into .NET API development. This is not your typical boilerplate it’s designed to be a learning playground packed with features and, yes, a few quirks along the way! | ||
|
||
- [Features](#features) | ||
- [Project Structure](#project-structure) | ||
- [Getting Started](#getting-started) | ||
- [Configuration](#configuration) | ||
- [Usage](#usage) | ||
- [Testing](#testing) | ||
- [Contributing](#contributing) | ||
- [License](#license) | ||
## 🚀 What's Inside? | ||
Here’s what’s in store with this boilerplate: | ||
|
||
## Features | ||
### 🌟 Key Features | ||
- **GitHub Actions:** Automate your builds and deployments with ease. Let the CI/CD magic do its thing while you focus on coding. 🛠️✨ | ||
|
||
- **StyleCop**: Enforces consistent code style and quality. | ||
- **EF Core**: Simplifies database operations. | ||
- **Swagger UI**: Provides interactive API documentation. | ||
- **AutoFixture**: Automates the generation of test data. | ||
- **Moq**: Facilitates the creation of mock objects for unit testing. | ||
- **Unit Tests with AutoFixture and Moq:** Write and run unit tests with these powerful tools to ensure your code does what it's supposed to do. Debugging bugs just got a bit easier! 🐞🔍 | ||
|
||
## Project Structure | ||
- **Swagger UI:** Showcase and interact with your API endpoints effortlessly. Swagger UI makes your API documentation look sharp and professional. 📜👍 | ||
|
||
The solution is divided into three main projects: | ||
- **Entity Framework Core:** Handle your database operations with this ORM framework, simplifying data management and access. 🗃️🔄 | ||
|
||
1. **API**: Contains the endpoints and configurations for the API. | ||
2. **Business**: Contains the business logic and services. | ||
3. **Data**: Contains the data models, context, and repository implementations. | ||
- **Microsoft Identity:** Secure your API with built-in authentication and authorization mechanisms. Because your data deserves top-notch security. 🔒🚪 | ||
|
||
- **Well-Structured Architecture:** | ||
- **AdvancedAPI:** Controllers to manage API requests. | ||
- **AdvancedAPI.Business:** Services for your business logic. | ||
- **AdvancedAPI.Data:** Models and repositories for data handling. | ||
- **AdvancedAPI.Tests:** Unit tests to ensure everything works smoothly. | ||
|
||
##🚧 Learning by Doing | ||
This boilerplate is designed to be a hands-on learning experience for me. It’s intentionally set up with potential mistakes and quirks to help you learn by doing: | ||
|
||
- **Spot a Mistake?** Perfect! It’s a great opportunity to dig in and understand what went wrong. Your observations can be valuable for learning. | ||
|
||
- **Explore and Experiment:** Feel free to modify, break, and fix things. The goal is to learn and grow through exploration. | ||
|
||
📦 Getting Started | ||
1. **Clone the Repo:** Get your own copy of the project. | ||
|
||
2. **Configure the AppSettings:** Open appsettings.json and set it up according to your environment. This is where you customize your setup. | ||
|
||
3. **Build and Run:** Compile and run the project to see it in action. | ||
|
||
4. **Check It Out:** Visit http://localhost:7242/swagger to view and interact with your API via Swagger UI. | ||
|
||
📣 Feedback Welcome! | ||
Your feedback is important. If you encounter issues or have suggestions, let me know! This is all part of the learning process, and your insights can help improve the experience for everyone. | ||
|
||
Happy coding and enjoy the journey with your new .NET API Boilerplate! 🚀💻✨ | ||
|
||
*P.S. This boilerplate is a work in progress and meant for learning. Embrace the quirks and enjoy exploring!* |