Inventory is a backend service for persisting real estate listings.
This project uses Docker for easy setup and isolation. You can work on this project using either VSCode or PyCharm, but the instructions below are for VSCode.
- VSCode
DockerandDev ContainersVSCode Extensions- Docker
- Open the project in VSCode.
- Run the command
docker-compose up --build -din the terminal to build and start the Docker container. - Use the command
Attach to running containerto connect your IDE to the running Docker container.
You might want to install some more extensions in the IDE attached to the container like Python.
As long as you don't manually delete the docker images created from this project, you won't have to perform this step again.
- Run the command
docker-compose downin the terminal
In the current setup, DynamoDB does not use any docker volume for persisting data, therefore when the container is deleted after bringing down the deployment, any data persisted so far gets lost.
DynamoDB is initialized automatically from the start.sh script.
Document your API endpoints here. After a succesful set up, you would be able to access the list of the available APIs http://localhost:7200/docs#/
Also, for integrating with the LLM service, the Open API spec is published here http://localhost:7200/openapi.json
For properties handling, fetch, create and update operations are supported. Multiple fetch operations exist, for different views of the site.
Interest Declaration endpoints are implemented as well.
Sonar Cube executes the tests and test the code coverage automatically whenever develop branch is invoked.
Additionally you can manually Run the tests from the /code path, by executing:
pytest
And produce the code coverage report:
coverage run -m pytestcoverage report -m
Support of property attributes like number of bedrooms, bathrooms and location. Interest of a user to a property is implemented as well.