https://github.com/bigbuildbench/lkurzyniec_netcore-boilerplate

https://github.com/bigbuildbench/lkurzyniec_netcore-boilerplate

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.2%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: BigBuildBench
  • License: gpl-2.0
  • Language: C#
  • Default Branch: master
  • Size: 812 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing Funding License

README.md

netcore-boilerplate

Boilerplate of API in .NET 8

| GitHub | Codecov | Docker Hub | |:------:|:-------:|:----------:| | Build & Test Build docker image | codecov | Docker Image Version |

Boilerplate is a piece of code that helps you to quickly kick-off a project or start writing your source code. It is kind of a template - instead of starting an empty project and adding the same snippets each time, you can use the boilerplate that already contains such code.

Intention - The intention behind this project is to mix a variety of different approaches to show different available paths. That's why you can find here the Service approach mixed-up with Repository approach, or old-fashioned controllers mixed-up with brand new minimal API in a separate module (modular approach). As well as, it's a kind of playground for exploring frameworks, packages, tooling. At the end, You are in charge, so it's your decision to which path you would like to follow.

Table of content

Source code contains

  1. Central Package Management (CPM)
  2. Swagger + Swashbuckle
  3. FeatureManagement (Feature Flags, Feature Toggles)
  4. HealthChecks
  5. EF Core
  6. Dapper
  7. Tests
  8. Code quality
  9. Docker
  10. Serilog
  11. DbUp as a db migration tool
  12. Continuous integration

Run the solution

To run the solution, use one of the options:

After successful start of the solution in any of above option, check useful endpoints:

Standalone

When running standalone, features like cars and employees might be disabled.

Execute dotnet run --project src/HappyCode.NetCoreBoilerplate.Api in the root directory.

In docker

When running in docker, features like cars and employees are disabled.

Download form registry

Simply execute docker run --rm -p 5000:8080 --name netcore-boilerplate lkurzyniec/netcore-boilerplate to download and spin up a container.

Build your own image

To run in docker with your own image, execute docker build . -t netcore-boilerplate:local in the root directory to build an image, and then docker run --rm -p 5000:8080 --name netcore-boilerplate netcore-boilerplate:local to spin up a container with it.

Docker compose

When running on Linux (i.e. WSL), make sure that all docker files (dockerfile, docker-compose and all mssql files) have line endings LF.

Just execute docker-compose up command in the root directory.

Migrations

When the entire environment is up and running, you can additionally run a migration tool to add some new schema objects into MsSQL DB. To do that, go to src/HappyCode.NetCoreBoilerplate.Db directory and execute dotnet run command.

How to adapt

Generally it is totally up to you! But in case you do not have any plan, You can follow below simple steps:

  1. Download/clone/fork repository :arrowheadingdown:
  2. Remove components and/or classes that you do not need to :fire:
  3. Rename files (e.g. sln or csproj), folders, namespaces etc :memo:
  4. Appreciate the work :star:

Architecture

Api

HappyCode.NetCoreBoilerplate.Api

HappyCode.NetCoreBoilerplate.Api

Core

HappyCode.NetCoreBoilerplate.Core

HappyCode.NetCoreBoilerplate.Core

DB Migrations

HappyCode.NetCoreBoilerplate.Db

HappyCode.NetCoreBoilerplate.Db

Tests

Integration tests

HappyCode.NetCoreBoilerplate.Api.IntegrationTests

HappyCode.NetCoreBoilerplate.Api.IntegrationTests

Unit tests

HappyCode.NetCoreBoilerplate.Api.UnitTests

HappyCode.NetCoreBoilerplate.Core.UnitTests

HappyCode.NetCoreBoilerplate.Core.UnitTests

Architectural tests

HappyCode.NetCoreBoilerplate.ArchitecturalTests

HappyCode.NetCoreBoilerplate.ArchitecturalTests

Books module

Totally separate module, developed with a modular monolith approach.

Module

The code organized around features (vertical slices).

HappyCode.NetCoreBoilerplate.BooksModule

HappyCode.NetCoreBoilerplate.BooksModule

Integration Tests

HappyCode.NetCoreBoilerplate.BooksModule.IntegrationTests

HappyCode.NetCoreBoilerplate.BooksModule.IntegrationTests

To Do

Be like a star, give me a star! :star:

If:

  • you like this repo/code,
  • you learn something,
  • you are using it in your project/application,

then please give me a star, appreciate my work. Thanks!

Buy me a coffee! :coffee:

You are also very welcome to acknowledge my time by buying me a small coffee.

Buy me a coffee

Owner

  • Name: BigBuildBench
  • Login: BigBuildBench
  • Kind: organization

abbr. B3, benchmarking the repo-level understanding capability of your LLMs by reconstructing project build-file.

GitHub Events

Total
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 1
  • Pull request event: 9
  • Create event: 14
Last Year
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 1
  • Pull request event: 9
  • Create event: 14

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 months
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.25
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 4
Past Year
  • Issues: 0
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 months
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.25
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 4
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (8)
Top Labels
Issue Labels
Pull Request Labels
dependencies (8) .NET (4) github_actions (4)

Dependencies

.github/workflows/auto-merge.yml actions
  • dependabot/fetch-metadata v2.2.0 composite
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v4 composite
  • actions/setup-dotnet v4 composite
  • github/codeql-action/analyze v3 composite
  • github/codeql-action/autobuild v3 composite
  • github/codeql-action/init v3 composite
.github/workflows/docker-build.yml actions
  • docker/build-push-action v6 composite
  • docker/setup-buildx-action v3 composite
.github/workflows/docker-push.yml actions
  • docker/build-push-action v6 composite
  • docker/login-action v3 composite
  • docker/metadata-action v5 composite
  • docker/setup-buildx-action v3 composite
.github/workflows/dotnetcore.yml actions
  • actions/checkout v4 composite
  • actions/setup-dotnet v4 composite
  • codecov/codecov-action v4 composite
.github/workflows/monit-issues.yml actions
  • actions/stale v9.0.0 composite
docker-compose.yml docker
  • mcr.microsoft.com/mssql/server 2022-latest
  • mysql 8
  • netcore-boilerplate compose
src/HappyCode.NetCoreBoilerplate.Api/HappyCode.NetCoreBoilerplate.Api.csproj nuget
src/HappyCode.NetCoreBoilerplate.BooksModule/HappyCode.NetCoreBoilerplate.BooksModule.csproj nuget
src/HappyCode.NetCoreBoilerplate.Core/HappyCode.NetCoreBoilerplate.Core.csproj nuget
src/HappyCode.NetCoreBoilerplate.Db/HappyCode.NetCoreBoilerplate.Db.csproj nuget
test/HappyCode.NetCoreBoilerplate.Api.IntegrationTests/HappyCode.NetCoreBoilerplate.Api.IntegrationTests.csproj nuget
test/HappyCode.NetCoreBoilerplate.Api.UnitTests/HappyCode.NetCoreBoilerplate.Api.UnitTests.csproj nuget
test/HappyCode.NetCoreBoilerplate.ArchitecturalTests/HappyCode.NetCoreBoilerplate.ArchitecturalTests.csproj nuget
test/HappyCode.NetCoreBoilerplate.BooksModule.IntegrationTests/HappyCode.NetCoreBoilerplate.BooksModule.IntegrationTests.csproj nuget
test/HappyCode.NetCoreBoilerplate.Core.UnitTests/HappyCode.NetCoreBoilerplate.Core.UnitTests.csproj nuget