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

GDG-Ukraine/gdg.org.ua

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f9353d8 · Oct 29, 2017
May 6, 2013
Feb 21, 2016
Jun 17, 2017
Jun 21, 2017
Oct 29, 2017
May 6, 2013
Oct 24, 2017
Oct 24, 2017
Oct 24, 2017
Feb 1, 2016
Aug 3, 2017
Aug 3, 2017
Jul 27, 2016
May 3, 2017
Oct 29, 2017
May 3, 2017
Aug 4, 2017
Oct 24, 2017
Feb 12, 2017
Oct 24, 2017
Jun 17, 2017
Jan 24, 2016
Feb 12, 2017
Dec 17, 2016
Jun 7, 2017
Aug 29, 2017
Aug 4, 2017
Mar 23, 2016
Mar 23, 2016
Aug 4, 2017
Aug 4, 2017
May 17, 2017
Aug 3, 2017
Aug 23, 2017
Oct 24, 2017
Jan 1, 2017
Aug 4, 2017

Repository files navigation

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