Introduction

Part 4, Lesson 1



In Part 4, we'll add an end-to-end (e2e) testing solution, form validation to the React app, a Swagger service to document the API, and deal with some tech debt. We'll also set up a staging environment to test on before the app goes into production.

Objectives

By the end of part 4, you should be able to...

  1. Test the entire set of services with functional, end-to-end tests via TestCafe
  2. Integrate TestCafe into the continuous integration process
  3. Handle form validation within React
  4. Add a flash messaging system to the React app
  5. Describe the purpose of Swagger
  6. Generate a Swagger Spec based on an existing RESTful API
  7. Configure Swagger to interact with a service running inside a Docker Container
  8. Set up a staging environment on AWS

App

microservice architecture

Check out the live app, running on EC2 - http://testdriven-production-alb-484275327.us-east-1.elb.amazonaws.com

You can also test out the following endpoints...

Endpoint HTTP Method Authenticated? Result
/auth/register POST No register user
/auth/login POST No log in user
/auth/logout GET Yes log out user
/auth/status GET Yes check user status
/users GET No get all users
/users/:id GET No get single user
/users POST Yes (admin) add a user
/ping GET No sanity check

Grab the code:

  1. flask-microservices-main
  2. flask-microservices-users
  3. flask-microservices-client
  4. flask-microservices-swagger

Introduction

In Part 4, we'll add an end-to-end (e2e) testing solution, form validation to the React app, a Swagger service to document the API, and deal with some tech debt. We'll also set up a staging environment to test on before the app goes into production.

Objectives

By the end of part 4, you should be able to...

  1. Test the entire set of services with functional, end-to-end tests via TestCafe
  2. Integrate TestCafe into the continuous integration process
  3. Handle form validation within React
  4. Add a flash messaging system to the React app
  5. Describe the purpose of Swagger
  6. Generate a Swagger Spec based on an existing RESTful API
  7. Configure Swagger to interact with a service running inside a Docker Container
  8. Set up a staging environment on AWS

App

microservice architecture

Check out the live app, running on EC2 - http://testdriven-production-alb-484275327.us-east-1.elb.amazonaws.com

You can also test out the following endpoints...

Endpoint HTTP Method Authenticated? Result
/auth/register POST No register user
/auth/login POST No log in user
/auth/logout GET Yes log out user
/auth/status GET Yes check user status
/users GET No get all users
/users/:id GET No get single user
/users POST Yes (admin) add a user
/ping GET No sanity check

Grab the code:

  1. flask-microservices-main
  2. flask-microservices-users
  3. flask-microservices-client
  4. flask-microservices-swagger