redditraffler is a website that facilitates contests or giveaways using Reddit submissions as a platform.
Read more about it at https://redditraffler.com.
The issue tracker for this project is on GitHub.
Non-development related questions or issues can be forwarded to me on Reddit or via e-mail.
redditraffler is a Flask app with jQuery for DOM manipulation, so you'll need to know Python and/or JavaScript for development. The required tools are:
- Python 3.6+
- pipenv
- Docker and Docker Compose (for Redis and PostgreSQL)
- 2 Reddit API keys (one web app, one script app)
- Yarn 1.x
$ git clone git@github.com:redditraffler/redditraffler.git
$ cd redditraffler
$ pipenv install --dev # install python dependencies
$ yarn install --dev # install node dependencies
For the app to run properly, you'll need to provide configuration values via a .env
file at the app's root directory. Use .env.example
as a template for your .env
file.
For the full list of environment variables used by the app, see app/config.py
.
Spin up the Docker containers for Postgres and Redis:
$ docker-compose up
To start up the development server:
$ bin/start
This will run migrations to keep the database schema up to date, then start up the Flask web server and a worker process.
Run the app's tests with
$ pipenv run test