https://github.com/pennlabs/penn-mobile
API Server to manage student life @ Penn.
https://github.com/pennlabs/penn-mobile
django django-rest-framework react university-of-pennsylvania
Last synced: 5 months ago
JSON representation
API Server to manage student life @ Penn.
- Host: GitHub
- URL: https://github.com/pennlabs/penn-mobile
- Owner: pennlabs
- License: mit
- Created: 2019-11-07T19:11:26.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2026-02-23T01:54:04.000Z (5 months ago)
- Last Synced: 2026-02-23T08:11:59.516Z (5 months ago)
- Topics: django, django-rest-framework, react, university-of-pennsylvania
- Language: Python
- Homepage:
- Size: 10.5 MB
- Stars: 22
- Watchers: 7
- Forks: 0
- Open Issues: 53
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# penn-mobile
[](https://github.com/pennlabs/penn-mobile/actions/workflows/cdkactions_build-and-deploy.yaml)
[](https://codecov.io/gh/pennlabs/penn-mobile)
This repository is the Django-based successor to `labs-api-server`, containing API routes to help students manage and keep track of things around campus that matter to them. This repo contains:
- GSR Booking
- Laundry Data
- Dining Data
- Fitness Data
- News and Events
- Posts and Polls
- Notifications
## Install
- `git clone https://github.com/pennlabs/penn-mobile.git`
- `cd penn-mobile/backend`
- `brew install postgres`
- `pipenv install --dev --python 3.11`
Note that the above command will likely throw some ugly errors at you with regards to the `psycopg2` packages. If that is the case, just manually install them:
- `pipenv install psycopg2`
- `pipenv install --dev`
Final Steps:
- `pipenv run python manage.py migrate`
- `pipenv run python manage.py runserver 8000`
Making git blame [correct](https://github.com/pennlabs/penn-mobile/pull/287) (_optional_):
- `git config blame.ignoreRevsFile .git-blame-ignore-revs`
Setting up precommit (_optional_):
- `pipenv run pre-commit install`
## Creating Users
To create users, you first have to create a main superuser.
- `pipenv run python manage.py createsuperuser` and follow the instructions
- Then, you can go to `localhost:8000/admin/auth/user/add/` to add more users.
## Testing Delayed Notifications
- `brew install redis`
In separate terminal windows, run the following commands:
- `redis-server`
- `celery -A pennmobile worker -linfo`
## Exploring the API
- Expore the API via our [auto-generated documentation](https://pennmobile.org/api/documentation/)! This is a really good way to click around and discover stuff.