New Arrivals Chi is a resource guide developed by six graduate students from the University of Chicago to help newly arrived individuals navigate the City of Chicago and its available resources. New Migrants often find themselves struggling with the complexities of accessing essential resources, from navigating systems to staying updated on what's available. Our goal is to provide accurate, up-to-date, and actionable information to address common challenges faced by newcomers.
The public facing site includes a guide for getting started in Chicago, legal support and health information. It also includes a two tiered login structure that allows organization to login and update their information, and site administrators to login and manage all organizations.
This project is student run in collaboration with various Community Based Organizations. It is a work in progress, and we look forward to expanding it to include additional services in the near future!
Follow these instructions to get the project running on your computer for development and testing.
.github/
: This folder contains the templates and workflows for our github repository.docs/
: This folder contains documents outlining decisions made throughout the development process.
decisions/
: This folder contains the decisions made regarding the various application components.design/
: This folder contains documentation for the design process.endpoints/
: This folder contains the enpoints for the pages of the application.models/
: This folder contains the data models for the database.style_templates/
: This folder contains the sylistic decisions to follow when contributing to the application.new_arrivals_chi/
: This folder contains the New Arrivals Chi application.
app/
: This folder contains the frontend, backend, and database code for the application.migrations/
: This folder contains the migrations to establish the database.tests/
: This folder contains the test scripts for the application.Poetry:
Install Poetry:
curl -sSL https://install.python-poetry.org | python3 -
Navigate to your the project directory and use Poetry to install project dependencies:
poetry install
Navigate to your the project directory and use Poetry to update project dependencies:
poetry update
Activate the Poetry virutal environment:
poetry shell
Run application:
python new_arrivals_chi/app/main.py
Run all tests:
poetry run pytest
Run a specific test:
poetry run pytest tests/app_home_test.py::test_home_page_status
Run database tests:
poetry run pytest tests/db_test.py
Activate the Poetry virutal environment:
poetry shell
Before making any changes, stamp the database with the current revision:
make stamp_db
Make your changes to the database models in new_arrivals_chi/app/models.py
.
Generate a migration, you should see a new file in new_arrivals_chi/migrations/versions/
:
make create_revision
Note that you may need to make changes to the migration file to ensure that the migration is correct.
Apply the migration to the database:
make update_db
The changes should now be reflected in the database.
Translations are handled using Flask-Babel and collaboratively updated using Poedit.
pybabel extract -F new_arrivals_chi/babel.cfg -k _l -o messages.pot .
pybabel update -i messages.pot -d new_arrivals_chi/app/translations
Open Poedit and edit the .po files:
pybabel compile -d new_arrivals_chi/app/translations
Below are video demonstrations for using the application from the perspective of 3 different users:
This project is iterative, and centers user is at the center of our design and implementation.
Read more about our design process and project values
This project is a work in progress, and we are excited to expand features and improve functionality in the near future.
Read our long term viability plan here!
This project is licensed under the AGPLv3 license.
Special thanks to:
This project is a collaborative effort and we would love your feedback!
Have an idea to make it better? Submit feedback or report a bug here.
Want to get in touch? Email us at newarrivalschi.contact@gmail.com.