- This repo will use barebone Kubernetes setup (can consider dapr for another repo/in the future)
- Physical architecture:
_etc: misc files (README, Build props, etc)core: where setup codes/common infrastructure will lie (DDD entity setup, ef setup, mediatr setups, etc.)domain: setup for DDD, mediatr, domain pipeline behaviourinfrastructure: setup for common cross-cutting concerns (auth, versioning, data access, etc)
src: contains mostly business logic(.NET), use setup code from corecontracts: common contracts between serviceslocation: location microserviceprofile: user profile microserviceidentity-provider: identity providerapi-gateway: api gateway
- Logical architecture: TODO
- Monorepo tool: Nx (consider merging FE to this repo?)
- API gateway: Kong (db-less)/Ocelot
- Identity provider: Keycloak/IdentityServer
- .NET apis:
- locationapi
- profileapi
- .NET technologies
- Mediatr/Mediator
- EntityFramework
- AutoMapper/Mapperly
- Serilog
- Fulltext search: ElasticSearch
- Deployment:
- Github Actions
- Docker
- Kubernetes
- Helm
- Linux
- Code quality: SonarQube/Snyk
- Map: google map
- Planetscale for MySQL database with geospatial extension
- Deployment target: TODO