Backend
- Server infrastructure
AWS (https://aws.amazon.com/) have established themselves as a quite reliable service provider. It can be used in a variety of projects, allowing to create secure and scalable solutions.
Each project generally has 2 application infrastructures:
- Development (staging)
- Production (live)
Each configuration has VPC (Virtual Private Cloud) with sub-networks and route tables to establish security and resources isolation.
- Backend application architecture
Application usually has a monolith architecture with layers for code decoupling.
Generally, it has the following layers:
- Repository layer. This layer has classes that implement database communication functionality such as requests or updates through database models.
- Services layer. It has classes that implement application business logic, integration with 3rd party systems, transactions handling, and caching.
- Controller layer. This layer has classes that implement HTTP requests handling. HTTP API is implemented according to RESTful principles and can work with different request content types such as JSON, XML, and protobuf.
Find more here https://smartym.pro/blog/our-app-development-process-building-a-software-project-architecture/.