Tenants struggle to navigate scattered information when searching for a new apartment. Without a centralized solution to aggregate key information, renters must take significant time to research or risk unforeseen downsides. This is exacerbated by popular commercial platforms' incentive to hide negative aspects of their listings. As generalist platforms, they also lack granularity in neighborhood details, for example, a distance to grocery stores known to local residents.
Apartments Plus aggregates data that mainstream rental sites often do not display, such as building defects and landlord reputations. Apartments Plus currently has data on Chicago, with a special focus on tenants in university neighborhoods like Hyde Park, which welcome a steady influx of new tenants every year.
We're online at aptpl.us.
As of May 26, 2025, Apartments Plus is currently in development stage. We welcome contributions from anyone as long as it aligns with our contribution guidelines and is well constructed. That includes being written by humans, not AI.
To get started, find an issue on github, submit a PR, and it will be reviewed by a member of our team. If you have any questions, reach out in the issues tab, or over email.
As of May 26, 2025, Apartments Plus is currently in development stage. To contribute:
- Install uv, if you haven't already.
- Install GDAL, an open source geodata library, needed to run the server locally. See our help section for some more specific instructions.
- Run
uv syncto set up the relevant Python environment
$ uv syncYou're good to go to start editing code! If you want to run the project locally, you'll need a bit more data:
- Set up an .env file in
DEBUG=Trueand relevant information on email and server addresses. These will be shared by current project administrators. - Launch the server locally.
$ uv run manage.py runserverAnd finally, we use playwright for frontend testing. Therefore, you'll need to install playwright locally:
- Install playwright
$ uv run playwright installThis is a Django application that uses plain JavaScript and some HTMX to handle frontend functionality. Our site is styled with Bulma. We use Airflow and Python >3.10 for data updates. Our data is stored on a postgreSQL server with postGIS for geospatial support.
We use pytest and playwright for testing.
We use our application folder to locate specific functionality. Please remember to follow that.
apt-plus/
├── .github/
│ └── workflows/ // GitHub CI/CD files
├── apt_app/ // Django Application folder
│ ├── management/ // Data management commands for Django
│ ├── views/ // Each view is it's on .py file
├── config/ // Django config files
├── docs/ // Documentation, such as for APIs
├── notebooks/ // Notebooks for data testing
├── scripts/ // Data management
├── static/ // Static elements
│ ├── css/ // All CSS styling
│ ├── js/ // JavaScript functionality
│ └── images/ // Static images
├── templates/ // All HTML templates
└── tests/ // All test files for testing
Contributors are listed, with no significance to the order of names:
| Who | What |
|---|---|
| Michael Rosenbaum | Design / Frontend & Project Management |
| Arkadeep Bandyopadhyay | Backend / Frontend engineering & Chief Architect |
| Miguel Perez | Backend / GIS specialist & Backend / Data engineer |
| Zewei (Whiskey) Liao | Lead QA Engineer & Backend Engineer |
| Rodrigo Rivarola | Front & Backend GIS Specialist |
| Magdalena Barros | Frontend Lead – Engineering & Design |
| Fuyuki Tani | Data Engineer |
| Keling Yue | Lead Backend Engineer & Data Engineer |
If you're using a Mac, follow these steps:
This ensures Django can locate the required GDAL and GEOS libraries for geospatial functionality.
Reference: Django Documentation: GeoDjango Installation
- Install Homebrew (if you don't have it yet):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"- Install GDAL using Homebrew:
brew install gdal- Add the following to your
.envfile:
# GDAL/GEOS Settings
GDAL_LIBRARY_PATH=/opt/homebrew/lib/libgdal.dylib
GEOS_LIBRARY_PATH=/opt/homebrew/lib/libgeos_c.dylib
DYLD_LIBRARY_PATH=/opt/homebrew/lib- Install GDAL
OSGeo4W's default installation for Windows will include the relevant packages.
- Add GDAL to your PATH variable
Then, your computer will need to be able to reference GDAL's functionality. To do so, you should add the file folder to your PATH variable. If you let OSGeo4W install it, that will be "C:\OSGeo4W\bin" on most computers.