Skip to content
This repository has been archived by the owner on Aug 24, 2019. It is now read-only.

Latest commit

 

History

History
172 lines (110 loc) · 4.26 KB

README.rst

File metadata and controls

172 lines (110 loc) · 4.26 KB
Stories in Ready `master` branch status codecov Uptime Robot status Uptime Robot ratio (last 7 days)

gdg.org.ua

This is the event registration system for GDG Ukraine events.

Requirements:

  • Python 3.5+ (it is recommended to use pyenv for dev environment)
  • NodeJS 5.0+ (it is recommended to use nvm for dev environment)
  • MySQL (MariaDB works well)

Prerequisites:

1  $ cd gdg.org.ua

Create DB and user, with smth like:

1  $ mysql -uroot -e "CREATE DATABASE <dbname>; GRANT ALL PRIVILEGES ON <dbname>.* TO <username>@'localhost' IDENTIFIED BY '<userpassword>'; FLUSH HOSTS; FLUSH PRIVILEGES;"

Create .exports file with following contents:

1  export BLUEBERRYPY_CONFIG='{ "global": { "key":"<32-byte-str-for-aes>", "google_oauth": { "id": "<google_app_id>", "secret": "<google_app_secret>" }, "alembic": {"sqlalchemy.url": "mysql+cymysql://<username>:<userpassword>@/<dbname>?unix_socket=/var/run/mysqld/mysqld.sock"} }, "sqlalchemy_engine": { "url": "mysql+cymysql://<username>:<userpassword>@/<dbname>?unix_socket=/var/run/mysqld/mysqld.sock" } }'

For dev add following line as well:

1  export OAUTHLIB_INSECURE_TRANSPORT=1

How to run it on localhost

  • First, prepare the environment:
1  $ make env
2  $ make dev-deps
  • Create database tables:
1  $ make db
  • Start application:
1  $ make run-dev
  • Open http://localhost:8080/ in your favourite browser and have fun :)

P.S. make dev (or just make) combines steps above except db target

How to run it in production

  • Prepare the environment:
1  $ make env
2  $ make deps
  • Create database tables:
1  $ make prod-db
  • Start application:
1  $ make run-prod

How to upgrade production (DEPRECATED!)

We have bin/update_gdg script for this

Running tests

1  $ make test

You can use [tox](https://tox.readthedocs.org) to run tests as well. Unfortunately, due to some bug in tox itself some special steps are required.

1  $ make test-envs

Enabling env

If you for some reason need to run shell with env activated, run this:

1  $ make activate-env
2  [gdg.org.ua][py3.5] $ _

Troubleshooting

Errors with installing mysql-connector-python

If you are getting errors about pip cannot find mysql-connector-python you can use the following workaround:

1  $ make activate-env
2  [gdg.org.ua][py3.5] $ pip install http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.0.4.zip#md5=3df394d89300db95163f17c843ef49df

or download the mysql-connector-python archive manually and then try to install requirements again.

If you see any wheel-related error output, you may want to avoid it by using --no-use-wheel option. E.g.:

1  $ make activate-env
2  [gdg.org.ua][py3.5] $ pip install coverage --no-use-wheel