{"id":24443529,"url":"https://github.com/gcmorais/boilerplate-dotnet-api","last_synced_at":"2026-04-08T22:32:25.715Z","repository":{"id":273376441,"uuid":"919454938","full_name":"gcmorais/boilerplate-dotnet-api","owner":"gcmorais","description":"This boilerplate is a starting solution for modern .NET projects, focusing on scalability, modularity, and best practices. It features Clean Architecture, CQRS, JWT authentication, messaging with Redis and SQL Server as the database.","archived":false,"fork":false,"pushed_at":"2025-02-12T13:43:50.000Z","size":844,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-25T19:03:34.412Z","etag":null,"topics":["clean-architecture","cqrs","dotnet","fluent-validation","jwt-auth","mapper","mediatr","moq","redis","sql-server","xunit-tests"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gcmorais.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-20T12:23:55.000Z","updated_at":"2025-06-22T00:24:16.000Z","dependencies_parsed_at":"2025-02-06T18:33:50.301Z","dependency_job_id":"c035b15f-8cfc-4068-9186-c702f1eeb4d2","html_url":"https://github.com/gcmorais/boilerplate-dotnet-api","commit_stats":null,"previous_names":["gcmorais/boilerplate-dotnet-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gcmorais/boilerplate-dotnet-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcmorais%2Fboilerplate-dotnet-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcmorais%2Fboilerplate-dotnet-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcmorais%2Fboilerplate-dotnet-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcmorais%2Fboilerplate-dotnet-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gcmorais","download_url":"https://codeload.github.com/gcmorais/boilerplate-dotnet-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gcmorais%2Fboilerplate-dotnet-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31577444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clean-architecture","cqrs","dotnet","fluent-validation","jwt-auth","mapper","mediatr","moq","redis","sql-server","xunit-tests"],"created_at":"2025-01-20T22:15:55.184Z","updated_at":"2026-04-08T22:32:25.701Z","avatar_url":"https://github.com/gcmorais.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Boilerplate .NET API\n\nA clean and modular boilerplate for building RESTful APIs using .NET, designed to streamline development and enforce best practices.\n\n## Features\n\n- **.NET**: Leverages the latest features and enhancements.\n- **Clean Architecture**: Organized into layers for maintainability and scalability.\n- **Dependency Injection**: Built-in DI for seamless service registration.\n- **Entity Framework Core**: Simplifies data access with LINQ queries and migrations.\n- **Global Exception Handling**: Standardized error responses with `ProblemDetails`.\n- **Validation**: Integrated validation using FluentValidation.\n- **Unit Testing**: Ready-to-use test setup with xUnit and Moq.\n- **JWT Authentication**: Secure APIs with JSON Web Tokens.\n- **Health Check**: Endpoint that checks the health of the application, including the status of the database and other critical services. Returns whether the application is working correctly or if there are errors to be resolved.\n\n## Prerequisites\n\n- .NET SDK 8.0 or later\n- SQL Server or SQLite (for local development)\n- A code editor (e.g., Visual Studio, Visual Studio Code)\n\n## Getting Started\n\nFollow these steps to set up and run the project locally:\n\n### Clone the Repository\n\n```bash\ngit clone https://github.com/gcmorais/boilerplate-dotnet-api.git\ncd boilerplate-dotnet-api\n`````\n### Setup Database\n\n1. Configure the database connection string, sendgrid connection and JWT keys in *appsettings.Development.json*.\n2. Apply migrations:\n\n```bash\ndotnet ef database update --project src/project.Infrastructure --startup-project src/project.Api\n`````\n\n### Run the API\n\n```bash\ndotnet run --project src/WebApi\n`````\n\n## Project Structure\nThe project follows a modular structure:\n```bash\nsrc/\n├── Application/       # Business logic and service interfaces\n├── Domain/            # Core entities and domain logic\n├── Infrastructure/    # Data access and external services\n└── WebApi/            # API controllers and entry points\ntests/\n└── Application.UnitTests/  # Unit tests for Application layer\n`````\n\n## Key Technologies\n- .NET 8\n- Entity Framework Core\n- MediatR\n- FluentValidation\n- xUnit \u0026 Moq\n\n## Contributing\nContributions are welcome! Feel free to open issues or submit pull requests to improve this project.\n\n## License\nThis project is licensed under the [MIT License.](https://en.wikipedia.org/wiki/MIT_License)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgcmorais%2Fboilerplate-dotnet-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgcmorais%2Fboilerplate-dotnet-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgcmorais%2Fboilerplate-dotnet-api/lists"}