Aviv-public / Aviv-Web-Technical-Test

8 stars 13 forks source link

AVIV technical test

Welcome to the AVIV technical test! This README will provide you with everything you need to know to start the exercise. Please read it thoroughly before you start working on your implementation proposal.

1. A bit of context

At AVIV, we often deal with listings. A listing is the description of a real estate that can be rented or bought. It contains information such as price and availability. We also display real estates characteristics, such as its category or size.

It has been decided by the product manager of your team to provide a view of the listings to our customers. Specifically, we want to display a list of each listing we have in our database, with its price history. Your team has determined that a REST API should be developed to provide the listings, so they can be displayed on a single page application. Your colleagues developers have already started to provide a resource endpoint to retrieve, create and update such listings in an API called the ListingAPI.

The ListingAPI has a schema that is documented in the schemas/listingapi.yaml folder.

You should upload the YAML file to ReDoc and browse it carefully.

Your team made a schema of the current application architecture Application Architecture

2. Before starting

Installation

If you need to install Docker Desktop, go to the Docker Get Started page. You will also need docker-compose to run this test.

The backend test provides an implementation of the ListingAPI.

The frontend test provides an implementation that consumes it.

Before digging into the test, please note the following expectations:

The aim of the technical test is to serve as a basis for the debrief that follows it, in which you will defend your decisions and discuss what might be missing in your implementation.

3. The exercise

If you are applying for a front-end position, please continue reading the FRONTEND-README.md file.

If you are applying for a back-end position, please continue reading the BACKEND-README.md file.

4. Deliverable expectations

When you're done, send us a .zip file with commits history (keep the .git folder). The file should include:

If you want to join any additional file, you can add them to the archive and link them in the SOLUTION.md file.