Skip to content

xgame92/OnionArch

 
 

Repository files navigation

OnionArch

A .NET Core demo application which uses the Onion Architecture

Licence Used

License: MIT

See the contents of the LICENSE file for details

Pull Requests

PRs Welcome

Pull requests are welcome, but please take a moment to read the Code of Conduct before submitting them or commenting on any work in this repo.

Code of Conduct

OnionArch has a Code of Conduct which all contributors, maintainers and forkers must adhere to. When contributing, maintaining, forking or in any other way changing the code presented in this repository, all users must agree to this Code of Conduct.

See Code of Conduct.md for details.

Installing the Template

To use the template locally, it will need to be installed. You can do this from either the NuGet package (see the next section) or by installing it from source. To install from source, please seen the NuGetReadMe.md file for instructions.

NuGet Package

This project is now available as a NuGet package

Running The Application

  1. Ensure that the appsettings.json file contains a valid ConnectionStrings section.

You will need two connection strings:

  • onionDataConnection

This is the database which will contain all of the Book and Series information

  • onionAuthConnection

This is the database which will contain all of the ASP.NET MVC Core auth information.

Example ConnectionStrings section:

"ConnectionStrings": {
  "onionDataConnection": "DataSource=onionData.db",
  "onionAuthConnection": "DataSource=onionAuth.db"
},
  1. Open a command prompt in the Onion.Web directory

Issue the following commands to set up the databases:

dotnet restore

Check for migrations in the Onion.Repo.Identity directory. If there isn't a directory labelled Migrations, then run the following (from the Onion.Web) directory to generate them:

dotnet ef migrations add CreateIdentitySchema -c AppIdentityDbContext -p ../Onion.Repo/Onion.Repo.csproj -s Onion.Web.csproj

Similarly, check for migrations in the Onion.Repo.Data directory. If there isn't a directory labelled Migrations, then run the following (from the Onion.Web) directory to generate them:

dotnet ef migrations add InitialMigration -c DataContext -p ../Onion.Repo/Onion.Repo.csproj -s Onion.Web.csproj

Apply all migrations to the databases by running the following commands (from the Onion.Web directory):

dotnet ef database update -c DataContext -p ../Onion.Repo/Onion.Repo.csproj -s Onion.Web.csproj
dotnet ef database update -c AppIdentityDbContext -p ../Onion.Repo/Onion.Repo.csproj -s Onion.Web.csproj
  1. Run the application and seed the database

Issue the following command from the Onion.Web directory:

dotnet run

About

A .NET Core demo application which uses the Onion Architecture

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 68.6%
  • HTML 30.6%
  • Other 0.8%