Skip to content

Towfiqomi/Cloud-data-filter-python-typescript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cloud-data-filter-python-typescript

The project fetches cloud list from Aiven public API and a list of cloud is shown as in table in app. User can also filter the cloud list using cloud providers, regions and the distance.

Cloud-App

Used Tech Stack

  • Python
  • Fast API (API Web framework)
  • Poetry (Dependency Management)
  • React
  • Typescript

Run The Project

The project can be run with or without the Docker. No need to create any virtual environment as Poetry will isolate the dependencies and create a venv by itself. Docker images can be built and run using the Makefile commands.

With Docker

Use the follwing command in root folder where the Makefile is,

make up

To stop the container use the command,

make down

Without the Docker

To run the API first install Poetry,

pip install --upgrade pip 'poetry==1.1.5'

Required dependencies are added in pyproject.toml in cloud-api. To install the dependencies, Run the following command,

poetry install --no-root

Now to run the application,

poetry run uvicorn apis.main:app --host 0.0.0.0 --port 5000 --reload

Now to run the client application go to the cloud-app folder, and use the following command,

yarn install

And then,

yarn start

The URLS

External Service

To collect the user's location data the project used am external service called Freegeoip. This data is collected to compare the user location with the cloud's location to get the distance of the cloud from the each user.