Skip to content

Pro-Coded-Public/codingtest-tdd-api

Repository files navigation

MetaWeather

Codacy Badge Build Status Azure DevOps tests

A solution to a coding assessmenent test, with the initial specification that the resulting application should feature an ASP.Net MVC Application with a React front end, with authentication and authorization.

Design Decisions

D1: As the external API that returns the desired data is:

a. Unsecured.

b. Returns a variety of fields which are not required to be displayed in the desired UI.

Implement a secured API proxy to the external API, offering control of authentication methods, authorization profiles, transformation of data to the desired model, etc.

D2. As authentication and authorization is to be:

a. Shared between both the API proxy and React client.

Implement IdentityServer4 as a Secure Token Server (STS).

Implementation

TDD / BDD style for establishing initial "structure", namely interfaces, method signatures, entities and their relationships.

Unit Testing for components where applicable (examples, rather than full coverage, is provided)

Use of Live Unit Testing (in this instance, via NCrunch).

Use of NSubstitute, AutoFixture, xUnit.

Use of Refit for building REST client based on interface definitions.

GitHub Flow in preference to Git Flow - in this scenario development branch / complex branching strategies are not required.

Azure Devops for CI builds / test runs on master branch.

Test and Build history are available at this link

For full list of technologies utilised, please refer to:

Dependencies

Feature branches are not deleted after merging to master, to allow viewing of each defined stage of development.

For full list of commits, please refer to:

Commits

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •