{"id":20454150,"url":"https://github.com/gaprogman/onionarch","last_synced_at":"2025-07-26T13:34:26.424Z","repository":{"id":25807004,"uuid":"106607692","full_name":"GaProgMan/OnionArch","owner":"GaProgMan","description":"A .NET Core demo application which uses the Onion Architecture","archived":false,"fork":false,"pushed_at":"2023-01-07T10:42:33.000Z","size":1453,"stargazers_count":103,"open_issues_count":19,"forks_count":36,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-30T20:12:39.948Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/GaProgMan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"Code-of-Conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-11T20:47:31.000Z","updated_at":"2025-01-11T04:54:53.000Z","dependencies_parsed_at":"2023-01-14T03:28:02.246Z","dependency_job_id":null,"html_url":"https://github.com/GaProgMan/OnionArch","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GaProgMan%2FOnionArch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GaProgMan%2FOnionArch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GaProgMan%2FOnionArch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GaProgMan%2FOnionArch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GaProgMan","download_url":"https://codeload.github.com/GaProgMan/OnionArch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247557767,"owners_count":20958047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-15T11:15:07.877Z","updated_at":"2025-04-06T22:08:59.816Z","avatar_url":"https://github.com/GaProgMan.png","language":"C#","funding_links":["https://www.buymeacoffee.com/dotnetcoreshow"],"categories":[],"sub_categories":[],"readme":"# OnionArch\nA .NET Core demo application which uses the Onion Architecture\n\n## Licence Used\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nSee the contents of the LICENSE file for details\n\n## Support This Project\n\nIf you have found this project helpful, either as a library that you use or as a learning tool, please consider buying me a coffee:\n\n\u003ca href=\"https://www.buymeacoffee.com/dotnetcoreshow\" target=\"_blank\"\u003e\u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: 41px !important;width: 174px !important\" \u003e\u003c/a\u003e\n\n## Pull Requests\n\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n\nPull 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.\n\n## Code of Conduct\nOnionArch 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.\n\nSee [Code of Conduct.md](Code-of-Conduct.md) for details.\n\n## Installing the Template\n\nTo 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](NuGetReadme) file for instructions.\n\n## NuGet Package\n\nThis project is now available as a [NuGet package](https://www.nuget.org/packages/OnionArch.Mvc)\n\n## Running The Application\n\n1. Ensure that the `appsettings.json` file contains a valid `ConnectionStrings` section.\n\nYou will need two connection strings:\n\n* onionDataConnection\n\nThis is the database which will contain all of the Book and Series information\n\n* onionAuthConnection\n\nThis is the database which will contain all of the ASP.NET MVC Core auth information.\n\nExample ConnectionStrings section:\n\n    \"ConnectionStrings\": {\n      \"onionDataConnection\": \"DataSource=onionData.db\",\n      \"onionAuthConnection\": \"DataSource=onionAuth.db\"\n    },\n\n2. Open a command prompt in the `Onion.Web` directory\n\nIssue the following commands to set up the databases:\n\n    dotnet restore\n\nCheck 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:\n\n    dotnet ef migrations add CreateIdentitySchema -c AppIdentityDbContext -p ../Onion.Repo/Onion.Repo.csproj -s Onion.Web.csproj\n\nSimilarly, 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:\n\n    dotnet ef migrations add InitialMigration -c DataContext -p ../Onion.Repo/Onion.Repo.csproj -s Onion.Web.csproj\n\nApply all migrations to the databases by running the following commands (from the `Onion.Web` directory):\n\n    dotnet ef database update -c DataContext -p ../Onion.Repo/Onion.Repo.csproj -s Onion.Web.csproj\n    dotnet ef database update -c AppIdentityDbContext -p ../Onion.Repo/Onion.Repo.csproj -s Onion.Web.csproj\n\n3. Build the front end\n\nIssue the following commands from the `Onion.Web` directory:\n\n    npm i\n    npm run build\n\n4. Run the application and seed the database\n\nIssue the following command from the `Onion.Web` directory:\n\n    dotnet run\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaprogman%2Fonionarch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgaprogman%2Fonionarch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaprogman%2Fonionarch/lists"}