This is the event registration system for GDG Ukraine events.
- 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)
1 $ cd gdg.org.ua1 $ mysql -uroot -e "CREATE DATABASE <dbname>; GRANT ALL PRIVILEGES ON <dbname>.* TO <username>@'localhost' IDENTIFIED BY '<userpassword>'; FLUSH HOSTS; FLUSH PRIVILEGES;"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" } }'1 export OAUTHLIB_INSECURE_TRANSPORT=1- 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
- Prepare the environment:
1 $ make env
2 $ make deps- Create database tables:
1 $ make prod-db- Start application:
1 $ make run-prodWe have bin/update_gdg script for this
1 $ make testYou 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-envsIf you for some reason need to run shell with env activated, run this:
1 $ make activate-env
2 [gdg.org.ua][py3.5] $ _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=3df394d89300db95163f17c843ef49dfor 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