Software Development

We can combine training with designing and building software. An example is an application for creating surveys; the source code can be viewed in GitHub and the application, hosted by Azure, can be viewed here.

1. Introduction

Overview of application architecture; demonstration of completed application

  • Design overvew
  • Using the application
  • Setting up the development environment
2. API Skeleton

Describes a simple web API which returns a collection of Surveys as JSON

  • Using PowerShell and the .NET CLI to set up a Visual Studio Solution
  • The Entity Framework object-database mapper
  • The Controller-Service-Repository pattern
  • Configuring Dependency injection
  • Making API requests to the REST service with Postman
3. React Skeleton

Connect to the API built in the previous section and display a list of surveys

  • Visual Studio Code, Node.js, Typescript
  • The Create-React-App toolchain
  • React components, JSX, properties, classes
  • The useState and useEffect hooks
  • Using the axios HTTP client to call the REST service
4. API Detail
  • The Repository layer;
  • ASP.NET Core Identity; JWT tokens
  • The Service layer; Automapper
  • The Controler layer; route mapping; HTTP methods
  • Use cases for Creating, Reading, Updating and Deleting Surveys
  • Use cases for uploading Survey responses and retrieving results
5. React Detail
  • Multi-page applications with React Router
  • React Forms and validation with Formik
  • Building a Responsive UI with React-Bootstrap
  • State management with MobX
  • Asynchronous functions with async and await
6. Azure

Overview of application architecture; demonstration of completed application

  • Azure SQL; firewall rules; Azure Active Directory authentication
  • Create an App Service plan and a Web App
  • Create a key vault and add secrets
  • Git deployment