Django+Postgres+Redis-powered web app to keep track of friends.
Try it: https://panner.herokuapp.com
- Supports: Meetup, Reddit, Spotify, and Twitter accounts.
- Simple, easy-to-navigate interface.
- Timesaver.
- Redis caching for faster load times.
- Mobile responsive.
- Robust test coverage.
- Python 3.6+
- API client ID/secret values
- Docker (highly recommended)
- Before running this app, you must acquire client ID/secret values from services that you will use (one or more): Meetup, Reddit, Spotify, and/or Twitter. Use
http://127.0.0.1:8000
as the callback URI.
Get Docker.
Clone, set values, and run in Django+Postgres+Redis+Gunicorn+Nginx configuration:
$ git clone https://github.com/kylepw/panner.git && cd panner $ cp env_template .env && vim .env $ docker-compose up --build
Open
http://127.0.0.1:8000
in a browser.
Start Postgres and Redis servers (with Docker like here or another method):
$ docker run --name db -p 5432:5432 -d postgres:11 $ docker run --name redis -p 6379:6379 -d redis:5
Clone, install dependencies, set values, setup database, and run:
$ git clone https://github.com/kylepw/panner.git && cd panner $ pip install pipenv && pipenv install $ cp env_template .env && vim .env $ pipenv shell (panner)$ # Postgres & Redis servers should be running at this point. (panner)$ export DB_HOST=127.0.0.1 REDIS_URL=redis://127.0.0.1:6379/1 (panner)$ ./manage.py migrate && ./manage.py loaddata people (panner)$ DEBUG=1 ./manage.py runserver ... Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
Open
http://127.0.0.1:8000
in a browser.
Run Django tests from top of project:
$ pipenv shell (panner)$ docker run --name db -p 5432:5432 -d postgres:11 (panner)$ docker run --name redis -p 6379:6379 -d redis:5 (panner)$ export DB_HOST=127.0.0.1 REDIS_URL=redis://127.0.0.1:6379/1 (panner)$ python manage.py test
Run api unit tests from sns directory:
$ pipenv shell && cd sns sns (panner)$ python -m unittest discover api
- Add Github API support.
- Multiple user account support.