2025-02-19 16:58:52 +01:00
2025-02-19 18:34:08 +01:00
2025-02-19 18:34:08 +01:00

Hiring Pair Programming Excercise

Welcome to this pair programming excercies for Axiomatic AI!

This repository is a very minimal application that we have put together to test new candidates. The repository resembles how our codebase is structured but in a very much "cut down" fashion. As you will see, the application takes pieces from "clean architecture" standards and slims it down. It is by no means perfect (and neither is our real code) - if you see areas to improve, please mention them in the interview!

During the pair programming excercise, you will be given some features, and be expected to implement them e2e. We are there to guide and help you! We do not expect you to achieve this goal, answering any questions you may need, or even helping with syntax.

Please make sure to follow the Dev Setup section before the day of the interview so that we can help within any problems you may have.

Application Description

This is a simple application for a "fair housing market". The mission is to make the housing market fairer for the individual by allowing them to list and compare housing with various AI tools.

Currently, users can only post houses, indicate if they are the owner, and view all houses listed in the platform.

Stack

For simplification purposes, this is only a backend application built using FastAPI.

Dev Setup

Requirements

  • Docker and docker compose
  • Python

Installation

make venv && make install && make install-dev

Serve the app

make start

Go to http://localhost:8080/docs to see the Swagger UI

Database notes

There is a postgres database that powers the application. For simplicity, it is cleaned and re-seeded when you run make start. This means you do not have think about DB migrations. You can run make clean-db if you need to clean it manually.

VSCode Setup

If you open the project directly within vscode, the debugger has been setup for you.

If you search for "@recommended" in the extension marketplace, you will see all recommended extensions.

Description
No description provided
Readme 190 KiB
Languages
Python 82.4%
TypeScript 13.6%
JavaScript 1.7%
HTML 0.9%
Makefile 0.8%
Other 0.6%