Programming languages: C# Framework: ASP.NET / ASP.NET Core Database: MSSQL or in-memory Automated build: Solution of choice UI: Angular
This sample project is managing gateways - master devices that control multiple peripheral devices. Your task is to create a REST service (JSON/HTTP) for storing information about these gateways and their associated devices. This information must be stored in the database. When storing a gateway, any field marked as “to be validated” must be validated and an error returned if it is invalid. Also, no more that 10 peripheral devices are allowed for a gateway. The service must also offer an operation for displaying information about all stored gateways (and their devices) and an operation for displaying details for a single gateway. Finally, it must be possible to add and remove a device from a gateway.
- a unique serial number (string),
- human-readable name (string),
- IPv4 address (to be validated),
- multiple associated peripheral devices.
- a UID (number),
- vendor (string),
- date created,
- status - online/offline.
Set the database configuration in the appsettings.json
file at the DomainConnectionString
key. The Database provider used is MSSQL Server.
To initialize the database use the migrations in the GatewaysTest.Infrastructure
project and start the update using the GatewaysTest.Api
project.
-dotnet ef database update -s ./GatewaysTest.Api
In case of use Aws as automatic build as part of CI/CD process configure in the BuildProject to use the source code yml file and set the current variables
ACCOUNT
: The aws accountREPOSITORY
: The elastic image repositoryIMAGE_NAME
: The docker image to store the buildFUNCTION
: The lambda function name