/Trade-Genius

Primary LanguageC#MIT LicenseMIT

Trade-Genius

Features

  • Built on .NET 7.0
  • Follows Clean Architecture Principles
  • Domain Driven Design
  • Cloud Ready. Can be deployed to AWS Infrastructure as ECS Containers using Terraform!
  • Docker-Compose File Examples
  • Multi Tenancy Support with Finbuckle
    • Create Tenants with Multi Database / Shared Database Support
    • Activate / Deactivate Tenants on Demand
    • Upgrade Subscription of Tenants - Add More Validity Months to each tenant!
  • Supports MySQL, MSSQL, Oracle & PostgreSQL!
Click to See More!
  • Uses Entity Framework Core as DB Abstraction
  • Flexible Repository Pattern
  • Dapper Integration for Optimal Performance
  • Serilog Integration with various Sinks - File, SEQ, Kibana
  • OpenAPI - Supports Client Service Generation
  • Mapster Integration for Quicker Mapping
  • API Versioning
  • Response Caching - Distributed Caching + REDIS
  • Fluent Validations
  • Audit Logging
  • Advanced User & Role Based Permission Management
  • Code Analysis & StyleCop Integration with Rulesets
  • JSON Based Localization with Caching
  • Hangfire Support - Secured Dashboard
  • File Storage Service
  • Test Projects
  • JWT & Azure AD Authentication
  • MediatR - CQRS
  • SignalR Notifications
  • & Much More

Getting Started

The database settings for the project are inside the "Configurations" folder in the "Host" project. Change the "database.json" and "hangfire.json" files accordingly.

To create the database, run the following commands on the project you need inside the "Migrators" folder:

update-database --context ApplicationDbContext update-database --context TenantDbContext After running the project, to generate a token, set the Tenant name to "root", username to "admin@root.com", and password to "Bo!2bjaq".