diff --git a/.gitignore b/.gitignore
index 01d0435e3c627390d39f2a4f158ae513f293e188..4b00c3c186be2ab0ee09e26a57625c08789bf079 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,39 +6,38 @@
 *.egg-info
 *.pot
 *.py[co]
-.tox/
-__pycache__
-MANIFEST
-.coverage
-cache/
+backend/.tox/
+backend/__pycache__
+backend/MANIFEST
+backend/.coverage
+backend/cache/
 
 # Django specific
-dist/
-docs/_build/
-docs/locale/
-node_modules/
-tests/coverage_html/
-tests/.coverage
-build/
-static/
-tests/report/
+backend/dist/
+backend/docs/_build/
+backend/docs/locale/
+backend/tests/coverage_html/
+backend/tests/.coverage
+backend/build/
+backend/static/
+backend/tests/report/
 *.sqlite3
-env/
-static/
+backend/env/
+backend/static/
 
 # project specific
-env-grady/
-env/
-scripts/
+backend/env-grady/
+backend/env/
+backend/scripts/
 *.csv
 *.json
-.importer*
+backend/.importer*
 
 # operation system
-.DS_Store
+backend/.DS_Store
 
 # sublime specific
 *.sublime-*
 
-# yarn stuff
-node_modules
+# Node specific
+node_modules/
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 63dd67bead6947b1df68d7c214d6de4967842145..6b2eff1c88a161e69f2f09e2b27b4ee393736161 100644
--- a/Makefile
+++ b/Makefile
@@ -4,14 +4,14 @@ DB_NAME = postgres
 .PHONY: collectstatic run install migrations-check isort isort-check
 
 collectstatic: # used only in production
-	./manage.py collectstatic --ignore node_modules
+	./backend/manage.py collectstatic --ignore node_modules
 	./manage.py compress --force
 
 run:
-	python manage.py runserver 0.0.0.0:8000
+	python backend/manage.py runserver 0.0.0.0:8000
 
 migrations-check:
-	python manage.py makemigrations --check --dry-run
+	python backend/manage.py makemigrations --check --dry-run
 
 isort:
 	isort -rc $(APP_LIST)
@@ -20,21 +20,22 @@ isort-check:
 	isort -c -rc $(APP_LIST)
 
 loaddata:
-	./manage.py loaddata core/fixtures/testdata-groups.json
+	./backend/manage.py loaddata core/fixtures/testdata-groups.json
 
 loadexamples:
-	./manage.py loaddata core/fixtures/testdata-user.json
-	./manage.py loaddata core/fixtures/testdata-core.json
+	./backend/manage.py loaddata core/fixtures/testdata-user.json
+	./backend/manage.py loaddata core/fixtures/testdata-core.json
 
 install:
-	pip install -r requirements.txt
-	yarn install --modules-folder core/static/node_modules
+	pip install -r backend/requirements.txt
+	yarn --cwd frontend/ 
+	yarn --cwd backend/ --modules-folder backend/core/static/node_modules
 
 test:
-	python manage.py run test
+	python backend/manage.py run test
 
 coverage:
-	coverage run manage.py test
+	coverage run backend/manage.py test
 	coverage report
 
 docker-db-create:
@@ -44,4 +45,4 @@ docker-db-start:
 	docker start $(DB_NAME)
 
 docker-db-stop:
-	docker start $(DB_NAME)
+	docker stop $(DB_NAME)
diff --git a/.coveragerc b/backend/.coveragerc
similarity index 100%
rename from .coveragerc
rename to backend/.coveragerc
diff --git a/.dockerignore b/backend/.dockerignore
similarity index 100%
rename from .dockerignore
rename to backend/.dockerignore
diff --git a/.editorconfig b/backend/.editorconfig
similarity index 100%
rename from .editorconfig
rename to backend/.editorconfig
diff --git a/.pylintrc b/backend/.pylintrc
similarity index 100%
rename from .pylintrc
rename to backend/.pylintrc
diff --git a/Dockerfile b/backend/Dockerfile
similarity index 100%
rename from Dockerfile
rename to backend/Dockerfile
diff --git a/core/__init__.py b/backend/core/__init__.py
similarity index 100%
rename from core/__init__.py
rename to backend/core/__init__.py
diff --git a/core/admin.py b/backend/core/admin.py
similarity index 100%
rename from core/admin.py
rename to backend/core/admin.py
diff --git a/core/apps.py b/backend/core/apps.py
similarity index 100%
rename from core/apps.py
rename to backend/core/apps.py
diff --git a/core/custom_annotations.py b/backend/core/custom_annotations.py
similarity index 100%
rename from core/custom_annotations.py
rename to backend/core/custom_annotations.py
diff --git a/core/fixtures/testdata-core.json b/backend/core/fixtures/testdata-core.json
similarity index 100%
rename from core/fixtures/testdata-core.json
rename to backend/core/fixtures/testdata-core.json
diff --git a/core/fixtures/testdata-groups.json b/backend/core/fixtures/testdata-groups.json
similarity index 100%
rename from core/fixtures/testdata-groups.json
rename to backend/core/fixtures/testdata-groups.json
diff --git a/core/fixtures/testdata-user.json b/backend/core/fixtures/testdata-user.json
similarity index 100%
rename from core/fixtures/testdata-user.json
rename to backend/core/fixtures/testdata-user.json
diff --git a/core/forms.py b/backend/core/forms.py
similarity index 100%
rename from core/forms.py
rename to backend/core/forms.py
diff --git a/core/grady_speak.py b/backend/core/grady_speak.py
similarity index 100%
rename from core/grady_speak.py
rename to backend/core/grady_speak.py
diff --git a/core/migrations/0001_initial.py b/backend/core/migrations/0001_initial.py
similarity index 100%
rename from core/migrations/0001_initial.py
rename to backend/core/migrations/0001_initial.py
diff --git a/core/migrations/0002_auto_20170412_1447.py b/backend/core/migrations/0002_auto_20170412_1447.py
similarity index 100%
rename from core/migrations/0002_auto_20170412_1447.py
rename to backend/core/migrations/0002_auto_20170412_1447.py
diff --git a/core/migrations/0003_auto_20170412_1507.py b/backend/core/migrations/0003_auto_20170412_1507.py
similarity index 100%
rename from core/migrations/0003_auto_20170412_1507.py
rename to backend/core/migrations/0003_auto_20170412_1507.py
diff --git a/core/migrations/0004_auto_20170412_1704.py b/backend/core/migrations/0004_auto_20170412_1704.py
similarity index 100%
rename from core/migrations/0004_auto_20170412_1704.py
rename to backend/core/migrations/0004_auto_20170412_1704.py
diff --git a/core/migrations/0005_auto_20170413_0124.py b/backend/core/migrations/0005_auto_20170413_0124.py
similarity index 100%
rename from core/migrations/0005_auto_20170413_0124.py
rename to backend/core/migrations/0005_auto_20170413_0124.py
diff --git a/core/migrations/0006_auto_20170413_1102.py b/backend/core/migrations/0006_auto_20170413_1102.py
similarity index 100%
rename from core/migrations/0006_auto_20170413_1102.py
rename to backend/core/migrations/0006_auto_20170413_1102.py
diff --git a/core/migrations/0007_auto_20170522_1827.py b/backend/core/migrations/0007_auto_20170522_1827.py
similarity index 100%
rename from core/migrations/0007_auto_20170522_1827.py
rename to backend/core/migrations/0007_auto_20170522_1827.py
diff --git a/core/migrations/0008_auto_20170522_1834.py b/backend/core/migrations/0008_auto_20170522_1834.py
similarity index 100%
rename from core/migrations/0008_auto_20170522_1834.py
rename to backend/core/migrations/0008_auto_20170522_1834.py
diff --git a/core/migrations/0009_auto_20170710_1308.py b/backend/core/migrations/0009_auto_20170710_1308.py
similarity index 100%
rename from core/migrations/0009_auto_20170710_1308.py
rename to backend/core/migrations/0009_auto_20170710_1308.py
diff --git a/core/migrations/0010_auto_20170710_1604.py b/backend/core/migrations/0010_auto_20170710_1604.py
similarity index 100%
rename from core/migrations/0010_auto_20170710_1604.py
rename to backend/core/migrations/0010_auto_20170710_1604.py
diff --git a/core/migrations/0011_auto_20170710_1610.py b/backend/core/migrations/0011_auto_20170710_1610.py
similarity index 100%
rename from core/migrations/0011_auto_20170710_1610.py
rename to backend/core/migrations/0011_auto_20170710_1610.py
diff --git a/core/migrations/0012_auto_20170711_1104.py b/backend/core/migrations/0012_auto_20170711_1104.py
similarity index 100%
rename from core/migrations/0012_auto_20170711_1104.py
rename to backend/core/migrations/0012_auto_20170711_1104.py
diff --git a/core/migrations/0013_auto_20170712_1643.py b/backend/core/migrations/0013_auto_20170712_1643.py
similarity index 100%
rename from core/migrations/0013_auto_20170712_1643.py
rename to backend/core/migrations/0013_auto_20170712_1643.py
diff --git a/core/migrations/0014_auto_20170712_1704.py b/backend/core/migrations/0014_auto_20170712_1704.py
similarity index 100%
rename from core/migrations/0014_auto_20170712_1704.py
rename to backend/core/migrations/0014_auto_20170712_1704.py
diff --git a/core/migrations/0015_auto_20170713_1220.py b/backend/core/migrations/0015_auto_20170713_1220.py
similarity index 100%
rename from core/migrations/0015_auto_20170713_1220.py
rename to backend/core/migrations/0015_auto_20170713_1220.py
diff --git a/core/migrations/0016_auto_20170714_1634.py b/backend/core/migrations/0016_auto_20170714_1634.py
similarity index 100%
rename from core/migrations/0016_auto_20170714_1634.py
rename to backend/core/migrations/0016_auto_20170714_1634.py
diff --git a/core/migrations/__init__.py b/backend/core/migrations/__init__.py
similarity index 100%
rename from core/migrations/__init__.py
rename to backend/core/migrations/__init__.py
diff --git a/core/models.py b/backend/core/models.py
similarity index 100%
rename from core/models.py
rename to backend/core/models.py
diff --git a/core/serializers.py b/backend/core/serializers.py
similarity index 100%
rename from core/serializers.py
rename to backend/core/serializers.py
diff --git a/core/static/css/custom.css b/backend/core/static/css/custom.css
similarity index 100%
rename from core/static/css/custom.css
rename to backend/core/static/css/custom.css
diff --git a/core/static/res/brand.png b/backend/core/static/res/brand.png
similarity index 100%
rename from core/static/res/brand.png
rename to backend/core/static/res/brand.png
diff --git a/core/templates/base.html b/backend/core/templates/base.html
similarity index 100%
rename from core/templates/base.html
rename to backend/core/templates/base.html
diff --git a/core/templates/core/component/feedback_badge.html b/backend/core/templates/core/component/feedback_badge.html
similarity index 100%
rename from core/templates/core/component/feedback_badge.html
rename to backend/core/templates/core/component/feedback_badge.html
diff --git a/core/templates/core/component/feedback_card.html b/backend/core/templates/core/component/feedback_card.html
similarity index 100%
rename from core/templates/core/component/feedback_card.html
rename to backend/core/templates/core/component/feedback_card.html
diff --git a/core/templates/core/component/message_box.html b/backend/core/templates/core/component/message_box.html
similarity index 100%
rename from core/templates/core/component/message_box.html
rename to backend/core/templates/core/component/message_box.html
diff --git a/core/templates/core/component/tests_editor.html b/backend/core/templates/core/component/tests_editor.html
similarity index 100%
rename from core/templates/core/component/tests_editor.html
rename to backend/core/templates/core/component/tests_editor.html
diff --git a/core/templates/core/feedback_form.html b/backend/core/templates/core/feedback_form.html
similarity index 100%
rename from core/templates/core/feedback_form.html
rename to backend/core/templates/core/feedback_form.html
diff --git a/core/templates/core/index.html b/backend/core/templates/core/index.html
similarity index 100%
rename from core/templates/core/index.html
rename to backend/core/templates/core/index.html
diff --git a/core/templates/core/r/feedback_list.html b/backend/core/templates/core/r/feedback_list.html
similarity index 100%
rename from core/templates/core/r/feedback_list.html
rename to backend/core/templates/core/r/feedback_list.html
diff --git a/core/templates/core/r/progress_card.html b/backend/core/templates/core/r/progress_card.html
similarity index 100%
rename from core/templates/core/r/progress_card.html
rename to backend/core/templates/core/r/progress_card.html
diff --git a/core/templates/core/r/reviewer_base.html b/backend/core/templates/core/r/reviewer_base.html
similarity index 100%
rename from core/templates/core/r/reviewer_base.html
rename to backend/core/templates/core/r/reviewer_base.html
diff --git a/core/templates/core/r/reviewer_startpage.html b/backend/core/templates/core/r/reviewer_startpage.html
similarity index 100%
rename from core/templates/core/r/reviewer_startpage.html
rename to backend/core/templates/core/r/reviewer_startpage.html
diff --git a/core/templates/core/r/single_submission.html b/backend/core/templates/core/r/single_submission.html
similarity index 100%
rename from core/templates/core/r/single_submission.html
rename to backend/core/templates/core/r/single_submission.html
diff --git a/core/templates/core/r/student_list.html b/backend/core/templates/core/r/student_list.html
similarity index 100%
rename from core/templates/core/r/student_list.html
rename to backend/core/templates/core/r/student_list.html
diff --git a/core/templates/core/r/student_submission_list.html b/backend/core/templates/core/r/student_submission_list.html
similarity index 100%
rename from core/templates/core/r/student_submission_list.html
rename to backend/core/templates/core/r/student_submission_list.html
diff --git a/core/templates/core/r/tutor_list_card.html b/backend/core/templates/core/r/tutor_list_card.html
similarity index 100%
rename from core/templates/core/r/tutor_list_card.html
rename to backend/core/templates/core/r/tutor_list_card.html
diff --git a/core/templates/core/s/single_submission.html b/backend/core/templates/core/s/single_submission.html
similarity index 100%
rename from core/templates/core/s/single_submission.html
rename to backend/core/templates/core/s/single_submission.html
diff --git a/core/templates/core/s/student_startpage.html b/backend/core/templates/core/s/student_startpage.html
similarity index 100%
rename from core/templates/core/s/student_startpage.html
rename to backend/core/templates/core/s/student_startpage.html
diff --git a/core/templates/core/t/tutor_startpage.html b/backend/core/templates/core/t/tutor_startpage.html
similarity index 100%
rename from core/templates/core/t/tutor_startpage.html
rename to backend/core/templates/core/t/tutor_startpage.html
diff --git a/core/tests.py b/backend/core/tests.py
similarity index 100%
rename from core/tests.py
rename to backend/core/tests.py
diff --git a/core/urls.py b/backend/core/urls.py
similarity index 100%
rename from core/urls.py
rename to backend/core/urls.py
diff --git a/core/views/__init__.py b/backend/core/views/__init__.py
similarity index 100%
rename from core/views/__init__.py
rename to backend/core/views/__init__.py
diff --git a/core/views/export_csv.py b/backend/core/views/export_csv.py
similarity index 100%
rename from core/views/export_csv.py
rename to backend/core/views/export_csv.py
diff --git a/core/views/feedback.py b/backend/core/views/feedback.py
similarity index 100%
rename from core/views/feedback.py
rename to backend/core/views/feedback.py
diff --git a/core/views/generics.py b/backend/core/views/generics.py
similarity index 100%
rename from core/views/generics.py
rename to backend/core/views/generics.py
diff --git a/core/views/index.py b/backend/core/views/index.py
similarity index 100%
rename from core/views/index.py
rename to backend/core/views/index.py
diff --git a/core/views/login.py b/backend/core/views/login.py
similarity index 100%
rename from core/views/login.py
rename to backend/core/views/login.py
diff --git a/core/views/submission.py b/backend/core/views/submission.py
similarity index 100%
rename from core/views/submission.py
rename to backend/core/views/submission.py
diff --git a/core/views/user_startpages.py b/backend/core/views/user_startpages.py
similarity index 100%
rename from core/views/user_startpages.py
rename to backend/core/views/user_startpages.py
diff --git a/delbert.py b/backend/delbert.py
similarity index 100%
rename from delbert.py
rename to backend/delbert.py
diff --git a/docker-compose.yml b/backend/docker-compose.yml
similarity index 100%
rename from docker-compose.yml
rename to backend/docker-compose.yml
diff --git a/docs/Database Design/Entity Relation Model.erdplus b/backend/docs/Database Design/Entity Relation Model.erdplus
similarity index 100%
rename from docs/Database Design/Entity Relation Model.erdplus
rename to backend/docs/Database Design/Entity Relation Model.erdplus
diff --git a/docs/Database Design/Relational Schema.erdplus b/backend/docs/Database Design/Relational Schema.erdplus
similarity index 100%
rename from docs/Database Design/Relational Schema.erdplus
rename to backend/docs/Database Design/Relational Schema.erdplus
diff --git a/docs/Database Design/er-model.graphml b/backend/docs/Database Design/er-model.graphml
similarity index 100%
rename from docs/Database Design/er-model.graphml
rename to backend/docs/Database Design/er-model.graphml
diff --git a/docs/Database Design/erdplus-diagram-pdf-export.pdf b/backend/docs/Database Design/erdplus-diagram-pdf-export.pdf
similarity index 100%
rename from docs/Database Design/erdplus-diagram-pdf-export.pdf
rename to backend/docs/Database Design/erdplus-diagram-pdf-export.pdf
diff --git a/docs/Database Design/erdplus-er-model-export.pdf b/backend/docs/Database Design/erdplus-er-model-export.pdf
similarity index 100%
rename from docs/Database Design/erdplus-er-model-export.pdf
rename to backend/docs/Database Design/erdplus-er-model-export.pdf
diff --git a/docs/core_uml.png b/backend/docs/core_uml.png
similarity index 100%
rename from docs/core_uml.png
rename to backend/docs/core_uml.png
diff --git a/grady/__init__.py b/backend/grady/__init__.py
similarity index 100%
rename from grady/__init__.py
rename to backend/grady/__init__.py
diff --git a/grady/settings/__init__.py b/backend/grady/settings/__init__.py
similarity index 100%
rename from grady/settings/__init__.py
rename to backend/grady/settings/__init__.py
diff --git a/grady/settings/default.py b/backend/grady/settings/default.py
similarity index 100%
rename from grady/settings/default.py
rename to backend/grady/settings/default.py
diff --git a/grady/settings/live.py b/backend/grady/settings/live.py
similarity index 100%
rename from grady/settings/live.py
rename to backend/grady/settings/live.py
diff --git a/grady/urls.py b/backend/grady/urls.py
similarity index 100%
rename from grady/urls.py
rename to backend/grady/urls.py
diff --git a/grady/wsgi.py b/backend/grady/wsgi.py
similarity index 100%
rename from grady/wsgi.py
rename to backend/grady/wsgi.py
diff --git a/manage.py b/backend/manage.py
similarity index 100%
rename from manage.py
rename to backend/manage.py
diff --git a/package.json b/backend/package.json
similarity index 100%
rename from package.json
rename to backend/package.json
diff --git a/requirements.txt b/backend/requirements.txt
similarity index 100%
rename from requirements.txt
rename to backend/requirements.txt
diff --git a/scripts/README.rst b/backend/scripts/README.rst
similarity index 100%
rename from scripts/README.rst
rename to backend/scripts/README.rst
diff --git a/scripts/compile.py b/backend/scripts/compile.py
similarity index 100%
rename from scripts/compile.py
rename to backend/scripts/compile.py
diff --git a/util/__init__.py b/backend/util/__init__.py
similarity index 100%
rename from util/__init__.py
rename to backend/util/__init__.py
diff --git a/util/convert.py b/backend/util/convert.py
similarity index 100%
rename from util/convert.py
rename to backend/util/convert.py
diff --git a/util/importer.py b/backend/util/importer.py
similarity index 100%
rename from util/importer.py
rename to backend/util/importer.py
diff --git a/util/messages.py b/backend/util/messages.py
similarity index 100%
rename from util/messages.py
rename to backend/util/messages.py
diff --git a/util/processing.py b/backend/util/processing.py
similarity index 100%
rename from util/processing.py
rename to backend/util/processing.py
diff --git a/util/testcases.py b/backend/util/testcases.py
similarity index 100%
rename from util/testcases.py
rename to backend/util/testcases.py
diff --git a/yarn.lock b/backend/yarn.lock
similarity index 100%
rename from yarn.lock
rename to backend/yarn.lock