Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 5 hours 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 (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-12T22:16:36.000Z (7 months ago)
- Last Synced: 2024-04-13T07:43:53.272Z (7 months ago)
- Topics: django, django-rest-framework, react, university-of-pennsylvania
- Language: Python
- Homepage:
- Size: 9 MB
- Stars: 31
- Watchers: 10
- Forks: 2
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# penn-mobile
[![Build and Deploy](https://github.com/pennlabs/penn-mobile/actions/workflows/cdkactions_build-and-deploy.yaml/badge.svg)](https://github.com/pennlabs/penn-mobile/actions/workflows/cdkactions_build-and-deploy.yaml)
[![Coverage Status](https://codecov.io/gh/pennlabs/penn-mobile/branch/master/graph/badge.svg)](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.