AppBrix is a way of thinking about and building scalable modular applications.
This framework is using the latest version of .NET.
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.
# 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
By default, tests are using MSTest, but NUnit and Xunit can be used instead.
- Using Visual Studio, Test Explorer must be opened before building test projects in order to discover the tests.
- Using JetBrains Rider, they can be run with right click on Tests solution folder and selecting Run Unit Tests.
- Using dotnet test, while in the project's root folder:
dotnet test --filter "Category=Functional|TestCategory=Functional" --nologo --verbosity minimal
- Using PowerShell, while in the project's root folder:
# 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
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:
- Comment out the ItemGroup for the current provider.
- Uncomment the ItemGroup for the desired provider.
- Rebuild the solution. If the rebuild isn't enough, run
./Clean.ps1
and then rebuild.
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.
./Publish.ps1
AppBrix.ConsoleApp is a simple console application which uses the framework.
AppBrix.WebApp is a simple web application which uses the framework.