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.ua
1 $ 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-prod
We have bin/update_gdg
script for this
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
If 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=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