Skip to content

afroze-confiz/dotnet-projectmanagement

 
 

Repository files navigation

Project Management App

Project Sonar Status Build Status Release Status
Api Gateway
Discovery Server N/A N/A
Company Api Quality Gate Status Build
Project Api Quality Gate Status Build
Frontend App

TODO

Project Scope

Create a simple microservices based application with the following components:

  • Service Discovery (Consul)
    • Basic Setup
    • Basic ACL
    • mTLS
    • Policies/Tokens via config files
  • Configuration Server (One or more of)
    • Consul KV
    • Vault
  • Api Gateway (Ocelot)
    • Base Setup (Consul + Auth)
    • Add routes for company-api
    • Add routes for project-api
  • Logging/Monitoring (One of)
  • Tracing
  • Authentication/Authorization (One of)
    • Azure AD
    • Keycloak
    • Identity Server
    • Auth0
  • Health checks (Steeltoe)
  • Deployment Model (Kubernetes)
  • CI/CD Pipeline
    • GitHub Actions
    • Azure DevOps
  • Testing Framework (xUnit/Moq)
    • Unit Tests
    • Integration Tests
    • E2E Tests
  • Backend Apis (.NET 7)
    • Company API
      • Logging
      • Tracing
        • Common
        • With Context
      • Auth
      • APIs
      • Docker
      • CI/CD
      • Health checks
    • Project Api
      • Logging
      • Tracing
        • Common
        • With Context
      • Auth
      • APIs
      • Docker
      • CI/CD
      • Health checks
  • Frontend Application
    • React App
    • Tests
  • Event Bus
    • Abstractions
    • Implementations
  • Service Contracts
    • Company API
    • Project API
  • Batch files for setup

Getting Started

Consul

Download/Setup

  • Download Consul binary from Consul's Website
  • Extract Consul binary to any location e.g. C:\tools\consul
  • Add location to PATH

Start Agent

consul.exe agent -config-file="config\\config.hcl"

Bootstrap ACL

consul.exe acl bootstrap

Save the secret-id generated by this command.

Create token for Consul Server

consul.exe acl token create -description "Token for consul-server-1" -node-identity "consul-server-1:az-1" -token="<bootstrap-token>"

Reload config consul.exe reload

Create tokens for services

Run the add-policies.ps1 script under discovery-server folder

Use the generated secret-ids in appsettings.json for each service

Create startup configs

Run the add-keyvalues.ps1 script under discovery-server folder

Common Issues

docker-compose fails to start es01

wsl -d docker-desktop
sysctl -w vm.max_map_count=262144

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published