https://github.com/MarinAtanasov/AppBrix
AppBrix is a way of thinking about and building scalable modular applications.
https://github.com/MarinAtanasov/AppBrix
appbrix asp-net-core aspnet-core aspnetcore dotnet dotnet-core framework net-core net-standard netcore netstandard
Last synced: 6 months ago
JSON representation
AppBrix is a way of thinking about and building scalable modular applications.
- Host: GitHub
- URL: https://github.com/MarinAtanasov/AppBrix
- Owner: MarinAtanasov
- License: mit
- Created: 2015-09-13T12:35:24.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-11-17T14:20:51.000Z (over 1 year ago)
- Last Synced: 2025-01-06T12:57:46.100Z (about 1 year ago)
- Topics: appbrix, asp-net-core, aspnet-core, aspnetcore, dotnet, dotnet-core, framework, net-core, net-standard, netcore, netstandard
- Language: C#
- Homepage:
- Size: 2.04 MB
- Stars: 8
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AppBrix
[](https://github.com/MarinAtanasov/AppBrix/actions/workflows/build.yml)
[](https://github.com/MarinAtanasov/AppBrix/issues)
[](https://github.com/MarinAtanasov/AppBrix)
[](https://github.com/MarinAtanasov/AppBrix)
[](https://www.nuget.org/packages?q=Owner%3Amarin.atanasov.bg+Tags%3AAppBrix)
[](https://www.nuget.org/packages?q=Owner%3Amarin.atanasov.bg+Tags%3AAppBrix)
AppBrix is a way of thinking about and building scalable modular applications.
This framework is using the latest version of [.NET](https://dotnet.microsoft.com/download).
AppBrix has been created with the following priorities:
* Everything should be testable.
* Interfaces should be easy to understand and use.
* Every part of the framework should be easily replaceable without changing the original source code.
## Setup
```Bash
# Clone project locally.
git clone git@github.com:MarinAtanasov/AppBrix.git
# Go to project root directory.
cd AppBrix
# Restore nuget dependencies and build the solution.
dotnet build
```
## Run Tests
By default, tests are using MSTest, but NUnit and Xunit can be used instead.
* Using [Visual Studio](https://visualstudio.microsoft.com/), Test Explorer must be opened before building test projects in order to discover the tests.
* Using [JetBrains Rider](https://www.jetbrains.com/rider/), they can be run with right click on *Tests* solution folder and selecting *Run Unit Tests*.
* Using [dotnet test](https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-test), while in the project's root folder:
```Bash
dotnet test --filter "Category=Functional|TestCategory=Functional" --nologo --verbosity minimal
```
* Using [PowerShell](https://github.com/PowerShell/PowerShell), while in the project's root folder:
```Powershell
# You can add -Build to restore dependencies and build the solution.
# You can add -Release to use the Release configuration instead of Debug.
# Run functional tests (default). Add -Parallel for parallel execution.
./Test.ps1 -tests Functional # ./Test.ps1
# Run performance tests.
./Test.ps1 -tests Performance # ./Test.ps1 p
# Run all tests.
./Test.ps1 -tests All # ./Test.ps1 a
```
## Switch Test Runners
There are ready configuration for each test runner inside _/Tests/Directory.Build.props_.
If you wish to switch to a different runner, open the file and:
1. Comment out the _ItemGroup_ for the current provider.
2. Uncomment the _ItemGroup_ for the desired provider.
3. Rebuild the solution. If the rebuild isn't enough, run `./Clean.ps1` and then rebuild.
## Publish Packages
Packaging and publishing of a new version of all projects can be done using PowerShell.
It requires Nuget CLI to be set up locally with account API key.
```Powershell
./Publish.ps1
```
## Sample Applications
AppBrix.ConsoleApp is a simple console application which uses the framework.
AppBrix.WebApp is a simple web application which uses the framework.