Proposed Alternative DOTNET Repository Layout

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…


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


Print Share Comment Cite Upload Translate Updates
APA

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/

MLA
" » Proposed Alternative DOTNET Repository Layout." The Sharp Ninja | Sciencx - Thursday December 23, 2021, https://www.scien.cx/2021/12/23/proposed-alternative-dotnet-repository-layout/
HARVARD
The Sharp Ninja | Sciencx Thursday December 23, 2021 » Proposed Alternative DOTNET Repository Layout., viewed ,<https://www.scien.cx/2021/12/23/proposed-alternative-dotnet-repository-layout/>
VANCOUVER
The Sharp Ninja | Sciencx - » Proposed Alternative DOTNET Repository Layout. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/12/23/proposed-alternative-dotnet-repository-layout/
CHICAGO
" » Proposed Alternative DOTNET Repository Layout." The Sharp Ninja | Sciencx - Accessed . https://www.scien.cx/2021/12/23/proposed-alternative-dotnet-repository-layout/
IEEE
" » Proposed Alternative DOTNET Repository Layout." The Sharp Ninja | Sciencx [Online]. Available: https://www.scien.cx/2021/12/23/proposed-alternative-dotnet-repository-layout/. [Accessed: ]
rf:citation
» Proposed Alternative DOTNET Repository Layout | The Sharp Ninja | Sciencx | 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.

You must be logged in to translate posts. Please log in or register.