No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
LBH.Data.Domain
LBH.Data.Repository
LBHTenancyAPI
LBHTenancyAPITest
StubUniversalHousing
docs
newrelic
.dockerignore
.editorconfig
.env
.gitignore
LBHTenancyAPI.sln
LICENSE
Makefile
README.md
docker-compose.dcproj
docker-compose.override.yml
docker-compose.yml

README.md

LBH Tenancy API

The Tenancy API provides up to date information on tenancies with the council, connecting to the legacy Universal Housing database for most data and the NCC CRM for the latest contact data.

Stack

  • .NET Core as a web framework.
  • xUnit as a test framework.

Dependencies

  • Universal Housing
  • NCC

Development practices

We employ a variant of Clean Architecture, borrowing from Made Tech Flavoured Clean Architecture and Made Tech's .NET Clean Architecture library.

Contributing

Setup

  1. Install Docker.
  2. Clone this repository.
  3. Open it in your IDE.

Development

To serve the application, run it using your IDE of choice. We've used Rider and Visual Studio CE on Mac.

The test suite depends on a local version of Universal Housing, to simulate the legacy data source. To bring this up, run the following. You can then run the tests using the test explorer in your IDE.

$ docker-compose run --rm stubuniversalhousing

To run on particular port,the command is as below.

$ docker run -p 3000:80 -it --rm lbhtenancyapi

Release

Circle CI Workflow Example

We use a pull request workflow, where changes are made on a branch and approved by one or more other maintainers before the developer can merge into master.

Then we have an automated four step deployment process, which runs in CircleCI.

  1. Automated tests (xUnit) are run to ensure the release is of good quality.
  2. The app is deployed to staging automatically, where we check our latest changes work well.
  3. We manually confirm a production deployment in the CircleCI workflow once we're happy with our changes in staging.
  4. The app is deployed to production.

Contacts

Active Maintainers

Other Contacts