Preferred Tech Stack
#
APIs- .NET Core 3.1 (C#)
- AWS Lambda
- Serverless framework
- AWS API Gateway
- Hackney Lambda authoriser (for authentication)
- FxCop for static code analysis
- dotnet-format for linting
- AWS Canaries for availability monitoring
#
Testing- nUnit
- FluentAssertions
- Moq
- Bogus (Faker) for faking test data
- AutoFixture
- WebApplicationFactory (Microsoft.AspNetCore.Mvc.Testing)
- For bootstrapping the application (API) in memory and run end-to-end tests
- Docker & docker-compose
- For spinning up DB image containers and running tests against that database
- During local development and during test run as part of CI/CD
For more guidance on testing, go to the testing section
#
Common- Swagger documentation
- For API design prior to implementation
- Automated Swagger docs for each API endpoint deployed
- See more
- CircleCI for CI/CD
- GitHub for version control
- AWS for cloud hosting
- AWS CloudWatch for monitoring
- Terraform for Infrastructure as Code (IaC) (e.g. setting up AWS DMS)
- AWS Parameter Store for secrets (connection string and similar)