Giter VIP home page Giter VIP logo

templateapp's Introduction

Template App

This is an opinionated web application template built using .NET 8 and Blazor.

License

This project is licensed under the MIT License.

Contributing

Contributions are welcome, but I don't promise to always have the time to review them!

Roadmap

There's a lot to do...

  • License
  • Scaffold Blazor Web App
  • Basic IaC setup with Bicep
  • Build definition using NUKE
  • Basic CI/CD setup with Azure DevOps
  • SQL Server and EF Core setup
  • API setup with FastEndpoints
  • API validation with FluentValidation
  • Styling with Tailwind CSS
  • Components with MudBlazor
  • Basic application layout
  • Form infrastructure
  • API request infrastructure
  • Authentication
  • ...

Infrastructure

The infrastructure for this project is defined using Bicep. To run Bicep you will need:

  • An Azure Subscription and a Resource Group within that Subscription
  • The Azure CLI command line tool (az)

To run Bicep, run the following command from the /infra directory (replacing the placeholders with your own values):

az deployment group create --template-file '.\main.bicep' --parameters '.\parameters\parameters.{env}.bicepparam' -g '{resource-group-name}'

CI/CD

The CI/CD pipeline for this project is defined using Azure DevOps.

In order for the pipeline to run you will first need to:

  • Create an Organization and Project within Azure DevOps
  • Create a Service Connection within Azure DevOps Project that goes through to your Azure Subscription
    • You can either create a single Service Connection scoped to your Subscription, or create multiple Service Connections scoped to individual Resource Groups (one per logical environment)
    • This template assumes you have created a single Service Connection called TemplateAppSC - if you use a different name, you will need to update the Azure Pipelines YAML file as appropriate
  • Create the following Environments within your Azure DevOps Project
    • INT (Integration)
    • QA (Quality Assurance)
    • UAT (User Acceptance Testing)
    • PROD (Production)
  • For the QA, UAT, and PROD Environments, configure an "Approvals" check to ensure that deployments must be manually promoted
  • For the PROD environment, consider adding a "Business Hours" check to ensure that Production deployments happen outside of business hours

templateapp's People

Contributors

alexjpotter avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.