diff --git a/.readme-static/competition.png b/.readme-static/competition.png
new file mode 100644
index 0000000..dbdc1df
Binary files /dev/null and b/.readme-static/competition.png differ
diff --git a/.readme-static/learn_fail.png b/.readme-static/learn_fail.png
new file mode 100644
index 0000000..9cb1d5b
Binary files /dev/null and b/.readme-static/learn_fail.png differ
diff --git a/.readme-static/learn_success.png b/.readme-static/learn_success.png
new file mode 100644
index 0000000..999ee0c
Binary files /dev/null and b/.readme-static/learn_success.png differ
diff --git a/.readme-static/main_menu.png b/.readme-static/main_menu.png
new file mode 100644
index 0000000..92c7020
Binary files /dev/null and b/.readme-static/main_menu.png differ
diff --git a/README.md b/README.md
index dd01528..e7dd325 100644
--- a/README.md
+++ b/README.md
@@ -1,25 +1,41 @@
-## Тема:
-### Мини-игры для развития определенных навыков в программировании
-> Описание:
->
-> Гонки на регулярках.
-> Микросервисы бла-бла lorem text...
+# CodeQuest
+> Проект реализован в рамках development hackathon.
+> Тема: Мини-игры для развития определенных навыков в программировании
-## GitFlow:
-- В ветке `master` проект готовый к релизу
-- В `develop` ведем разработку и вмерживаем ветки фич
-- Под каждый сервис своя ветка
-(директория сервиса располагается в корневом каталоге проекта)
-
+> Авторы: [Дюсенов Асет](https://dyussenov.dev/), [Ким Максим](https://github.com/exynil), [Песков Сергей](https://peskov.dev/)
- И не забывайте, 1 готовый блок кода (фича) = 1 коммит.
+CodeQuest - игровая платформа представляющая коллекцию игр для разивтия определенных
+скиллов в программировании. В качестве mvp представленна игра: **Гонки на регулярках**
+
-## Setup:
+## RegexRace
+Регулярки в языках программирования это очень мощный инструмент,
+но к сожалению у многих он хромает.
+
+**RegexRace** имеет 2 режима:
+1) Обучающий режим. Блок с теорией позволяющий подятнуть базу по регуляркам
+
+
+2) Рейтинговый режим - позволяет пользователям соревноваться в написании регулярок на перегонки.
+
+
+# Setup:
- `git clone https://github.com/codequest-team/codequest.git`
- `cd codequest`
-- In the root of the project create `.env` file (and substitute your values if necessary):
+- copy .envs and substitute your values if necessary:
+ ```bash
+ cp -r .envs_example .envs
+ ```
+- generate docker-compose with `docker-compose.sh` (param `dev` for local lauch)
+ ```bash
+ ./docker-compose.sh dev
+ ```
+ or
+ ```bash
+ ./docker-compose.sh prod
```
- echo 'JWT_SECRET_KEY="e7c83a28f8b8d597afedf2134979ed8ae9f472d1"' > .env
+- run project
+ ```bash
+ docker-compose up --build
```
-- `docker-compose up --build`
diff --git a/auth-ms/poetry.lock b/auth-ms/poetry.lock
index 7bc220f..da30696 100644
--- a/auth-ms/poetry.lock
+++ b/auth-ms/poetry.lock
@@ -1,4 +1,4 @@
-# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.4.1 and should not be changed by hand.
[[package]]
name = "alembic"
@@ -241,6 +241,27 @@ files = [
docs = ["Sphinx", "docutils (<0.18)"]
test = ["objgraph", "psutil"]
+[[package]]
+name = "gunicorn"
+version = "20.1.0"
+description = "WSGI HTTP Server for UNIX"
+category = "main"
+optional = false
+python-versions = ">=3.5"
+files = [
+ {file = "gunicorn-20.1.0-py3-none-any.whl", hash = "sha256:9dcc4547dbb1cb284accfb15ab5667a0e5d1881cc443e0677b4882a4067a807e"},
+ {file = "gunicorn-20.1.0.tar.gz", hash = "sha256:e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8"},
+]
+
+[package.dependencies]
+setuptools = ">=3.0"
+
+[package.extras]
+eventlet = ["eventlet (>=0.24.1)"]
+gevent = ["gevent (>=1.4.0)"]
+setproctitle = ["setproctitle"]
+tornado = ["tornado (>=0.2)"]
+
[[package]]
name = "isort"
version = "5.12.0"
@@ -569,6 +590,23 @@ files = [
[package.extras]
cli = ["click (>=5.0)"]
+[[package]]
+name = "setuptools"
+version = "67.6.1"
+description = "Easily download, build, install, upgrade, and uninstall Python packages"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "setuptools-67.6.1-py3-none-any.whl", hash = "sha256:e728ca814a823bf7bf60162daf9db95b93d532948c4c0bea762ce62f60189078"},
+ {file = "setuptools-67.6.1.tar.gz", hash = "sha256:257de92a9d50a60b8e22abfcbb771571fde0dbf3ec234463212027a4eeecbe9a"},
+]
+
+[package.extras]
+docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
+testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
+testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
+
[[package]]
name = "six"
version = "1.16.0"
@@ -704,4 +742,4 @@ watchdog = ["watchdog"]
[metadata]
lock-version = "2.0"
python-versions = "^3.10"
-content-hash = "dbccbcb54f85d3d0a6cb8158d839a77d5a6bcfccf8f735d8bf9d44ea51302e1f"
+content-hash = "bb597b39ae9cbcbaad4012a1afc27b27d0cc3a25f77bf487a601ebe470c90022"
diff --git a/auth-ms/pyproject.toml b/auth-ms/pyproject.toml
index b5eba52..2cd0a55 100644
--- a/auth-ms/pyproject.toml
+++ b/auth-ms/pyproject.toml
@@ -15,6 +15,7 @@ flask-cors = "^3.0.10"
flask-sqlalchemy = "^3.0.3"
psycopg2 = "^2.9.5"
flask-migrate = "^4.0.4"
+gunicorn = "^20.1.0"
[tool.poetry.group.dev.dependencies]
diff --git a/docker-compose.sh b/docker-compose.sh
index abc8ac2..0272abb 100755
--- a/docker-compose.sh
+++ b/docker-compose.sh
@@ -25,7 +25,7 @@ DEV=$(
auth-ms:
container_name: 'auth-ms'
build: ./auth-ms/
- command: python main.py
+ command: gunicorn main:app --bind 0.0.0.0:5000
restart: always
env_file:
- ./.envs/.local/.auth-ms
@@ -87,7 +87,7 @@ PROD=$(
auth-ms:
container_name: 'auth-ms'
build: ./auth-ms/
- command: python main.py
+ command: gunicorn main:app --bind 0.0.0.0:5000
restart: always
env_file:
- ./.envs/.production/.auth-ms
@@ -150,7 +150,7 @@ PRODS=$(
auth-ms:
container_name: 'auth-ms'
build: ./auth-ms/
- command: python main.py
+ command: gunicorn main:app --bind 0.0.0.0:5000
restart: always
env_file:
- ./.envs/.production_encrypted/.auth-ms