https://locationmatchmaker.com
Link to github repo https://github.gatech.edu/snima3/dva-Project
Location Matchmaker is web visualization tool to assist you in finding a new place to live. The tool is connected with rich datasets to be a one-stop-shop for location research. It is highly customizable, and displays data at the county level for all 50 US states.
This project is a Python-based web application that uses gunicorn as the WSGI HTTP server and gevent for asynchronous workers. The application is containerized using Docker, making it easy to deploy and run in any environment. The app listens on port 8080 and is defined in the api:app module. The visualization is powered by d3.js and bootstrap for styling.
See this Youtube video to view it in action!
Download and install the latest version of Python from the official website:
https://www.python.org/downloads/
Make sure to check the box "Add Python to PATH" during installation.
To confirm installation, run:
python --versionor
python3 --versionNavigate to your project directory and run:
python -m venv venvor
python3 -m venv venvActivate the virtual environment:
-
Windows:
venv\Scripts\activate
-
macOS/Linux:
source venv/bin/activate
You’ll know the virtual environment is active when you see (venv) in your terminal prompt.
With the virtual environment activated, install the required packages:
pip install -r requirements.txtBefore running the project, ensure you have Docker and Docker Compose installed on your system. You can find installation instructions for your operating system below:
- Install Docker on Windows
- Install Docker Compose on Windows
- Install Docker on Mac
- Install Docker Compose on Mac
- Install Docker on Linux
- Install Docker Compose on Linux
Follow the steps below to build and run the project using Docker Compose.
- Open a terminal (e.g., Command Prompt, PowerShell, or Windows Terminal).
- Navigate to the project directory:
cd path\to\dva-Project - Run the following command to build and start the containers:
docker compose up --build
- Access the application in your browser at
http://localhost:8080.
- Open a terminal.
- Navigate to the project directory:
cd /path/to/dva-Project - Run the following command to build and start the containers:
docker compose up --build
- Access the application in your browser at
http://localhost:8080.
- Open a terminal.
- Navigate to the project directory:
cd /path/to/dva-Project - Run the following command to build and start the containers:
docker compose up --build
- Access the application in your browser at
http://localhost:8080.
dockerfile: Defines the Docker image for the application.docker-compose.yml: Configures the services, ports, and environment variables for the application.requirements.txt: Lists the Python dependencies for the project.- Application Code: The Python application code is located in the project directory.
- The application uses live updates by mounting the project directory as a volume in the container. Any changes to the code will reflect immediately without restarting the container.
- If you want to run the container interactively for debugging, uncomment the
tty: trueandstdin_open: truelines in thedocker-compose.ymlfile.
- If you encounter permission issues on Linux, try running the commands with
sudo. - Ensure that port
8080is not being used by another application on your system.