This content originally appeared on DEV Community and was authored by The Sharp Ninja
Layout for GitHub Repo for Blazor Web App with API and shared Logic layer and server-side Data Layer.
I'm thinking that a directory layout for Solutions that represents the relationship of projects would be good. Also, pairing test projects with their library being tested.
Proposed Layout
π .gitignore // Global Git Ignore
π README.md // README for entire repository
π LICENSE // LICENSE for entire repository
π nuget.config // NuGet Configuration
π .github // Github config
π workflow // Github Workflows
π cd.yml // Continuous Integration Pipeline
π ci.yml // Continuous Deployment Pipeline
π .idea // (hidden) Rider config
π .tools // Dependent Tooling
π Cake // Cake Build Tooling
π .vs // (hidden) Visual Studio Config
π .vscode // VS Code Config
π settings.json // VS Code Solution Settings
π tasks.json // VS Code Task Definitions
π launch.json // VS Code Launch Definitions
π extensions.json // VS Code Extension Recomendations
π _artifacts // Built Artifacts
π npm // Built NPM Modules
π nuget // Built NuGet Packages
π other // Other Built Artifacts
π _build // Nuke or Cake
π .nuke // Nuke Project
π Build.cs // BUKE Targets
π Build.csproj // NUKE Build Project
π _cd // CD Config
π nuke-cd.yml // CD Config for NUKE
π _ci // CI Config
π nuke-ci.yml // CI Config for NUKE
π _lib // Loose dependencies
π _requirements // Loose requirements docs
π _scripts // Loose PowerShell Scripts
π publish.ps1 // Push artifacts to repositories
π helpers.psm1 // PowerShell Module of helper functions
π MySolution // Start of Visual Stduio Solution
π Directory.Build.Props // Global MSBuild Configuration
π MySolution.sln // Visual Studio Solution File
π Data
π Directory.Build.Props // Data-Tier MSBuild Configuration
π _integration // Data-Tier integration tests
π _sql // Loose SQL Scripts
π MyProject.Entities // Project Grouping
π docs // Markdown based generated and/or manual docs
π Generated // Generated Documentation
π <metadata folder> // DocFx Generated
π api // DocFx Generated
π <namespace>.yml // DocFx Generated
π <class>.yml // DocFx Generated
π toc.yml // DocFx Generated
π index.yml // DocFx Generated
π Pages // Hand-created Documentation
π page_about.md // Index for MyProject.Entities Docs
π page_support.md // Index for MyProject.Entities Docs
π docfx.json // DocFx Configuration
π index.md // Index for MyProject.Entities Docs
π src // Library
π Entities // POCO Entities
π Migrations // Database Migrations
π Repositories // Repositories or DbContexts
π MyProject.Entities.csproj
π test // Library Tests
π Data // Test Data
π Mocking // Mocking Objects
π MyProject.Entities.Tests.csproj
π Logic
π Directory.Build.Props // Logic-Tier MSBuild Configuration
π _integration // Logic-Tier Integration Tests
π MyProject.Rules
π docs
π Generated // Generated Documentation
π <metadata folder> // DocFx Generated
π api // DocFx Generated
π <namespace>.yml // DocFx Generated
π <class>.yml // DocFx Generated
π toc.yml // DocFx Generated
π index.yml // DocFx Generated
π Pages // Hand-created Documentation
π page_about.md // Index for MyProject.Logic Docs
π page_support.md // Index for MyProject.Logic Docs
π docfx.json // DocFx Configuration
π index.md // Index for MyProject.Logic Docs
π src
π Mapping // Entities-to-Domain Models Mappings
π MVC // Real MVC (see: )
π Controllers // Controllers
π Models // POCO Domain Models
π MyProject.Rules.csproj
π test
π MyProject.Rules.Tests.csproj
π Services
π Directory.Build.Props // Services-Tier MSBuild Configuration
π _integration // Services-Tier Integration Tests
π MyProject.Api
π docs
π Generated // Generated Documentation
π <metadata folder> // DocFx Generated
π api // DocFx Generated
π <namespace>.yml // DocFx Generated
π <class>.yml // DocFx Generated
π toc.yml // DocFx Generated
π index.yml // DocFx Generated
π Pages // Hand-created Documentation
π page_about.md // Index for MyProject.Api Docs
π page_support.md // Index for MyProject.Api Docs
π docfx.json // DocFx Configuration
π index.md // Index for MyProject.Api Docs
π src
π MyProject.Api.csproj
π test
π MyProject.Api.Tests.csproj
π UI
π Directory.Build.Props // UI-Tier MSBuild Configuration
π _assets // Shared UI assets
π css // Shared Styling
π fonts // Shared Fonts
π images // Shared Images
π resources // Shared Resource files
π _integration // UI-Tier Integration Tests
π MyProject.Blazor
π docs
π Generated // Generated Documentation
π <metadata folder> // DocFx Generated
π api // DocFx Generated
π <namespace>.yml // DocFx Generated
π <class>.yml // DocFx Generated
π toc.yml // DocFx Generated
π index.yml // DocFx Generated
π Pages // Hand-created Documentation
π page_about.md // Index for MyProject.UI Docs
π page_support.md // Index for MyProject.UI Docs
π docfx.json // DocFx Configuration
π index.md // Index for MyProject.UI Docs
π src
π wwwroot
π MyProject.Blazor.csproj
π test
π MyProject.Blazor.Test.csproj
This content originally appeared on DEV Community and was authored by The Sharp Ninja
The Sharp Ninja | Sciencx (2021-12-23T22:04:39+00:00) Proposed Alternative DOTNET Repository Layout. Retrieved from https://www.scien.cx/2021/12/23/proposed-alternative-dotnet-repository-layout/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.