0
Proposed Alternative DOTNET Repository Layout
source link: https://dev.to/sharpninja/proposed-alternative-dotnet-repository-layout-38cm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
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
Enter fullscreen mode
Exit fullscreen mode
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK