diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..adbb97d2 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +data/ \ No newline at end of file diff --git a/.env_sample b/.env_sample index b759b073..b3dea2ee 100644 --- a/.env_sample +++ b/.env_sample @@ -3,3 +3,10 @@ SECRET_KEY="your_secret_key_here" SITE_NAME="localhost" SLACK_ENABLED=True SUPPORT_EMAIL = 'support@example.com' + +# dev only, do NOT use for production +DBHOST=mysql +DBPORT=3306 +DBNAME=hackathons +DBUSER=hackthon_user +DBPASS=gummyball \ No newline at end of file diff --git a/.gitignore b/.gitignore index 00e863bc..93594ef6 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ venv/ .idea/ MYNOTES.md staticfiles +data/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..f27c56c2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM ubuntu:20.04 + +RUN apt-get update -y +RUN apt-get install python3 python3-pip libmysqlclient-dev mysql-client vim -y + +WORKDIR /hackathon-app +COPY ./requirements.txt /hackathon-app/requirements.txt + +RUN pip3 install -r requirements.txt + +COPY ./src/ /hackathon-app + +EXPOSE 8000 +ENTRYPOINT ["gunicorn", "--workers=5", "--timeout=120", "--access-logfile=-",\ + "--bind=0.0.0.0:8000", "--max-requests=1000", "django_ci_sandbox_proxy.wsgi:application"] diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml new file mode 100644 index 00000000..98296738 --- /dev/null +++ b/docker-compose.prod.yml @@ -0,0 +1,44 @@ +version: "3.4" + +services: + hackathon-app: + image: hackathon-app + # Do NOT use in actual production setup + environment: + DEVELOPMENT: 1 + SECRET_KEY: "your_secret_key_here" + SITE_NAME: "*" + SLACK_ENABLED: "True" + SHOWCASE_SPOTLIGHT_NUMBER: 5 + SUPPORT_EMAIL: community@codeinstitute.net + DBHOST: mysql + DBPORT: 3306 + DBNAME: hackathons + DBUSER: hackathon_user + DBPASS: gummyball + volumes: + - ./src/hackathon/:/hackathon-app/hackathon/ + ports: + - "8000:8000" + + mysql: + image: docker.io/mysql:5.6.36 + command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci + # Do NOT use for production + environment: + MYSQL_ROOT_PASSWORD: gummyball + MYSQL_DATABASE: hackathons + MYSQL_USER: hackathon_user + MYSQL_PASSWORD: gummyball + volumes: + - ./data/mysql:/var/lib/mysql + + nginx: + image: nginx + volumes: + - ${PWD}/nginx/:/etc/nginx/conf.d/ + ports: + - "80:80" + # - "443:443" + depends_on: + - hackathon-app diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..3cb610ce --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,31 @@ +version: "3.4" + +services: + hackathon-app: + image: hackathon-app + environment: + DEVELOPMENT: 1 + SECRET_KEY: "your_secret_key_here" + SITE_NAME: "*" + SLACK_ENABLED: "True" + SHOWCASE_SPOTLIGHT_NUMBER: 5 + SUPPORT_EMAIL: community@codeinstitute.net + DBHOST: mysql + DBPORT: 3306 + DBNAME: hackathons + DBUSER: hackathon_user + DBPASS: gummyball + ports: + - "8000:8000" + + mysql: + image: docker.io/mysql:5.6.36 + command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci + # Do NOT use for production + environment: + MYSQL_ROOT_PASSWORD: gummyball + MYSQL_DATABASE: hackathons + MYSQL_USER: hackathon_user + MYSQL_PASSWORD: gummyball + volumes: + - ./data/mysql:/var/lib/mysql diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 00000000..27df6253 --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,29 @@ +server { + listen 80; + server_name example.com; + location / { + return 301 https://example.com$request_uri; + } + + location /.well-known/acme-challenge/ { + root /var/www/certbot; + } +} + +server { + listen 443 ssl; + server_name example.com; + + ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; + + include /etc/letsencrypt/options-ssl-nginx.conf; + ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; + + location / { + proxy_pass http://hackathon-app:8000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + } +} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 1c29b87a..273e1e1c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,34 +1,54 @@ +appdirs==1.4.3 asgiref==3.2.10 backcall==0.2.0 +CacheControl==0.12.6 certifi==2020.6.20 chardet==3.0.4 +colorama==0.4.3 +contextlib2==0.6.0 decorator==4.4.2 defusedxml==0.6.0 +distlib==0.3.0 +distro==1.4.0 dj-database-url==0.5.0 Django==3.1.3 django-allauth==0.42.0 django-crispy-forms==1.9.2 +django-extensions==3.1.0 +graphviz==0.16 +html5lib==1.0.1 idna==2.10 +ipaddr==2.2.0 ipdb==0.13.4 ipython==7.19.0 ipython-genutils==0.2.0 jedi==0.18.0 +lockfile==0.12.2 +msgpack==0.6.2 +mysqlclient==2.0.3 oauthlib==3.1.0 +packaging==20.3 parso==0.8.1 +pep517==0.8.2 pexpect==4.8.0 pickleshare==0.7.5 +progress==1.5 prompt-toolkit==3.0.8 ptyprocess==0.7.0 Pygments==2.7.3 +pyparsing==2.4.6 python-dateutil==2.8.1 python-dotenv==0.14.0 python3-openid==3.2.0 +pytoml==0.1.21 pytz==2020.1 requests==2.24.0 requests-oauthlib==1.3.0 +retrying==1.3.3 six==1.15.0 sqlparse==0.3.1 traitlets==5.0.5 urllib3==1.25.10 wcwidth==0.2.5 +webencodings==0.5.1 whitenoise==5.2.0 diff --git a/accounts/__init__.py b/src/accounts/__init__.py similarity index 100% rename from accounts/__init__.py rename to src/accounts/__init__.py diff --git a/accounts/admin.py b/src/accounts/admin.py similarity index 100% rename from accounts/admin.py rename to src/accounts/admin.py diff --git a/accounts/apps.py b/src/accounts/apps.py similarity index 100% rename from accounts/apps.py rename to src/accounts/apps.py diff --git a/accounts/fixtures/accounts.json b/src/accounts/fixtures/accounts.json similarity index 100% rename from accounts/fixtures/accounts.json rename to src/accounts/fixtures/accounts.json diff --git a/accounts/fixtures/emailaddresses.json b/src/accounts/fixtures/emailaddresses.json similarity index 100% rename from accounts/fixtures/emailaddresses.json rename to src/accounts/fixtures/emailaddresses.json diff --git a/accounts/fixtures/organisation.json b/src/accounts/fixtures/organisation.json similarity index 100% rename from accounts/fixtures/organisation.json rename to src/accounts/fixtures/organisation.json diff --git a/accounts/fixtures/profiles.json b/src/accounts/fixtures/profiles.json similarity index 100% rename from accounts/fixtures/profiles.json rename to src/accounts/fixtures/profiles.json diff --git a/accounts/forms.py b/src/accounts/forms.py similarity index 100% rename from accounts/forms.py rename to src/accounts/forms.py diff --git a/accounts/lists.py b/src/accounts/lists.py similarity index 100% rename from accounts/lists.py rename to src/accounts/lists.py diff --git a/accounts/migrations/0001_initial.py b/src/accounts/migrations/0001_initial.py similarity index 100% rename from accounts/migrations/0001_initial.py rename to src/accounts/migrations/0001_initial.py diff --git a/accounts/migrations/0002_auto_20201022_1553.py b/src/accounts/migrations/0002_auto_20201022_1553.py similarity index 100% rename from accounts/migrations/0002_auto_20201022_1553.py rename to src/accounts/migrations/0002_auto_20201022_1553.py diff --git a/accounts/migrations/0003_auto_20201023_1201.py b/src/accounts/migrations/0003_auto_20201023_1201.py similarity index 100% rename from accounts/migrations/0003_auto_20201023_1201.py rename to src/accounts/migrations/0003_auto_20201023_1201.py diff --git a/accounts/migrations/0003_auto_20201023_2006.py b/src/accounts/migrations/0003_auto_20201023_2006.py similarity index 100% rename from accounts/migrations/0003_auto_20201023_2006.py rename to src/accounts/migrations/0003_auto_20201023_2006.py diff --git a/accounts/migrations/0004_merge_20201025_1255.py b/src/accounts/migrations/0004_merge_20201025_1255.py similarity index 100% rename from accounts/migrations/0004_merge_20201025_1255.py rename to src/accounts/migrations/0004_merge_20201025_1255.py diff --git a/accounts/migrations/0005_auto_20201026_1312.py b/src/accounts/migrations/0005_auto_20201026_1312.py similarity index 100% rename from accounts/migrations/0005_auto_20201026_1312.py rename to src/accounts/migrations/0005_auto_20201026_1312.py diff --git a/accounts/migrations/0006_auto_20210111_2242.py b/src/accounts/migrations/0006_auto_20210111_2242.py similarity index 100% rename from accounts/migrations/0006_auto_20210111_2242.py rename to src/accounts/migrations/0006_auto_20210111_2242.py diff --git a/accounts/migrations/0006_auto_20210113_2249.py b/src/accounts/migrations/0006_auto_20210113_2249.py similarity index 100% rename from accounts/migrations/0006_auto_20210113_2249.py rename to src/accounts/migrations/0006_auto_20210113_2249.py diff --git a/accounts/migrations/0007_auto_20210115_1706.py b/src/accounts/migrations/0007_auto_20210115_1706.py similarity index 100% rename from accounts/migrations/0007_auto_20210115_1706.py rename to src/accounts/migrations/0007_auto_20210115_1706.py diff --git a/accounts/migrations/0008_auto_20210116_1717.py b/src/accounts/migrations/0008_auto_20210116_1717.py similarity index 100% rename from accounts/migrations/0008_auto_20210116_1717.py rename to src/accounts/migrations/0008_auto_20210116_1717.py diff --git a/accounts/migrations/0009_customuser_profile_image.py b/src/accounts/migrations/0009_customuser_profile_image.py similarity index 100% rename from accounts/migrations/0009_customuser_profile_image.py rename to src/accounts/migrations/0009_customuser_profile_image.py diff --git a/accounts/migrations/0010_remove_customuser_slack_display_name_is_public.py b/src/accounts/migrations/0010_remove_customuser_slack_display_name_is_public.py similarity index 100% rename from accounts/migrations/0010_remove_customuser_slack_display_name_is_public.py rename to src/accounts/migrations/0010_remove_customuser_slack_display_name_is_public.py diff --git a/accounts/migrations/0011_merge_20210118_1524.py b/src/accounts/migrations/0011_merge_20210118_1524.py similarity index 100% rename from accounts/migrations/0011_merge_20210118_1524.py rename to src/accounts/migrations/0011_merge_20210118_1524.py diff --git a/src/accounts/migrations/0012_auto_20210205_1300.py b/src/accounts/migrations/0012_auto_20210205_1300.py new file mode 100644 index 00000000..90190739 --- /dev/null +++ b/src/accounts/migrations/0012_auto_20210205_1300.py @@ -0,0 +1,19 @@ +# Generated by Django 3.1.3 on 2021-02-05 13:00 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('accounts', '0011_merge_20210118_1524'), + ] + + operations = [ + migrations.AlterField( + model_name='customuser', + name='organisation', + field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='users', to='accounts.organisation'), + ), + ] diff --git a/accounts/migrations/__init__.py b/src/accounts/migrations/__init__.py similarity index 100% rename from accounts/migrations/__init__.py rename to src/accounts/migrations/__init__.py diff --git a/accounts/models.py b/src/accounts/models.py similarity index 96% rename from accounts/models.py rename to src/accounts/models.py index 10968290..0ccdd765 100644 --- a/accounts/models.py +++ b/src/accounts/models.py @@ -48,8 +48,8 @@ class CustomUser(AbstractUser): organisation = models.ForeignKey( Organisation, on_delete=models.CASCADE, - related_name='user_organisation', - default=Organisation.DEFAULT_PK + related_name='users', + default=1 ) about = models.TextField( diff --git a/accounts/templates/accounts/edit_profile.html b/src/accounts/templates/accounts/edit_profile.html similarity index 100% rename from accounts/templates/accounts/edit_profile.html rename to src/accounts/templates/accounts/edit_profile.html diff --git a/accounts/urls.py b/src/accounts/urls.py similarity index 100% rename from accounts/urls.py rename to src/accounts/urls.py diff --git a/accounts/views.py b/src/accounts/views.py similarity index 100% rename from accounts/views.py rename to src/accounts/views.py diff --git a/assets/images/hackathon.jpeg b/src/assets/images/hackathon.jpeg similarity index 100% rename from assets/images/hackathon.jpeg rename to src/assets/images/hackathon.jpeg diff --git a/hackathon/__init__.py b/src/hackathon/__init__.py similarity index 100% rename from hackathon/__init__.py rename to src/hackathon/__init__.py diff --git a/hackathon/admin.py b/src/hackathon/admin.py similarity index 100% rename from hackathon/admin.py rename to src/hackathon/admin.py diff --git a/hackathon/apps.py b/src/hackathon/apps.py similarity index 100% rename from hackathon/apps.py rename to src/hackathon/apps.py diff --git a/hackathon/fixtures/hackathons.json b/src/hackathon/fixtures/hackathons.json similarity index 100% rename from hackathon/fixtures/hackathons.json rename to src/hackathon/fixtures/hackathons.json diff --git a/hackathon/fixtures/score_categories.json b/src/hackathon/fixtures/score_categories.json similarity index 100% rename from hackathon/fixtures/score_categories.json rename to src/hackathon/fixtures/score_categories.json diff --git a/hackathon/forms.py b/src/hackathon/forms.py similarity index 100% rename from hackathon/forms.py rename to src/hackathon/forms.py diff --git a/hackathon/helpers.py b/src/hackathon/helpers.py similarity index 89% rename from hackathon/helpers.py rename to src/hackathon/helpers.py index b8ccba33..64b89d0c 100644 --- a/hackathon/helpers.py +++ b/src/hackathon/helpers.py @@ -1,4 +1,6 @@ from copy import deepcopy +from dateutil.parser import parse +from datetime import datetime from django.db.models import Count @@ -82,3 +84,12 @@ def count_judges_scores(judges, projects, score_categories): judge_scores[judge.slack_display_name] = ( scores.count() == len(projects) * len(score_categories)) return judge_scores + + +def format_date(date_str): + """ Try parsing your dates with strptime and fallback to dateutil.parser + """ + try: + return datetime.strptime(date_str, '%d/%m/%Y %H:%M') + except ValueError: + return parse(date_str) diff --git a/hackathon/lists.py b/src/hackathon/lists.py similarity index 100% rename from hackathon/lists.py rename to src/hackathon/lists.py diff --git a/hackathon/migrations/0001_initial.py b/src/hackathon/migrations/0001_initial.py similarity index 100% rename from hackathon/migrations/0001_initial.py rename to src/hackathon/migrations/0001_initial.py diff --git a/hackathon/migrations/0002_auto_20201015_1936.py b/src/hackathon/migrations/0002_auto_20201015_1936.py similarity index 100% rename from hackathon/migrations/0002_auto_20201015_1936.py rename to src/hackathon/migrations/0002_auto_20201015_1936.py diff --git a/hackathon/migrations/0003_auto_20201015_2020.py b/src/hackathon/migrations/0003_auto_20201015_2020.py similarity index 100% rename from hackathon/migrations/0003_auto_20201015_2020.py rename to src/hackathon/migrations/0003_auto_20201015_2020.py diff --git a/hackathon/migrations/0004_auto_20201015_2224.py b/src/hackathon/migrations/0004_auto_20201015_2224.py similarity index 100% rename from hackathon/migrations/0004_auto_20201015_2224.py rename to src/hackathon/migrations/0004_auto_20201015_2224.py diff --git a/hackathon/migrations/0005_auto_20201016_1951.py b/src/hackathon/migrations/0005_auto_20201016_1951.py similarity index 100% rename from hackathon/migrations/0005_auto_20201016_1951.py rename to src/hackathon/migrations/0005_auto_20201016_1951.py diff --git a/hackathon/migrations/0006_auto_20201016_2050.py b/src/hackathon/migrations/0006_auto_20201016_2050.py similarity index 100% rename from hackathon/migrations/0006_auto_20201016_2050.py rename to src/hackathon/migrations/0006_auto_20201016_2050.py diff --git a/hackathon/migrations/0007_auto_20201017_1148.py b/src/hackathon/migrations/0007_auto_20201017_1148.py similarity index 100% rename from hackathon/migrations/0007_auto_20201017_1148.py rename to src/hackathon/migrations/0007_auto_20201017_1148.py diff --git a/hackathon/migrations/0008_auto_20201018_1301.py b/src/hackathon/migrations/0008_auto_20201018_1301.py similarity index 100% rename from hackathon/migrations/0008_auto_20201018_1301.py rename to src/hackathon/migrations/0008_auto_20201018_1301.py diff --git a/hackathon/migrations/0008_auto_20201018_1459.py b/src/hackathon/migrations/0008_auto_20201018_1459.py similarity index 100% rename from hackathon/migrations/0008_auto_20201018_1459.py rename to src/hackathon/migrations/0008_auto_20201018_1459.py diff --git a/hackathon/migrations/0008_hackprojectscorecategory_highest_score.py b/src/hackathon/migrations/0008_hackprojectscorecategory_highest_score.py similarity index 100% rename from hackathon/migrations/0008_hackprojectscorecategory_highest_score.py rename to src/hackathon/migrations/0008_hackprojectscorecategory_highest_score.py diff --git a/hackathon/migrations/0009_auto_20201018_1515.py b/src/hackathon/migrations/0009_auto_20201018_1515.py similarity index 100% rename from hackathon/migrations/0009_auto_20201018_1515.py rename to src/hackathon/migrations/0009_auto_20201018_1515.py diff --git a/hackathon/migrations/0009_auto_20201018_1829.py b/src/hackathon/migrations/0009_auto_20201018_1829.py similarity index 100% rename from hackathon/migrations/0009_auto_20201018_1829.py rename to src/hackathon/migrations/0009_auto_20201018_1829.py diff --git a/hackathon/migrations/0010_merge_20201020_1944.py b/src/hackathon/migrations/0010_merge_20201020_1944.py similarity index 100% rename from hackathon/migrations/0010_merge_20201020_1944.py rename to src/hackathon/migrations/0010_merge_20201020_1944.py diff --git a/hackathon/migrations/0010_merge_20201022_2224.py b/src/hackathon/migrations/0010_merge_20201022_2224.py similarity index 100% rename from hackathon/migrations/0010_merge_20201022_2224.py rename to src/hackathon/migrations/0010_merge_20201022_2224.py diff --git a/hackathon/migrations/0011_auto_20201020_1948.py b/src/hackathon/migrations/0011_auto_20201020_1948.py similarity index 92% rename from hackathon/migrations/0011_auto_20201020_1948.py rename to src/hackathon/migrations/0011_auto_20201020_1948.py index 3f1dcf3e..c8453b6c 100644 --- a/hackathon/migrations/0011_auto_20201020_1948.py +++ b/src/hackathon/migrations/0011_auto_20201020_1948.py @@ -16,7 +16,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='hackproject', name='created_by', - field=models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, related_name='hackprojects', to='auth.user'), + field=models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, related_name='hackprojects', to=settings.AUTH_USER_MODEL), preserve_default=False, ), migrations.AddField( diff --git a/hackathon/migrations/0011_auto_20201024_0035.py b/src/hackathon/migrations/0011_auto_20201024_0035.py similarity index 100% rename from hackathon/migrations/0011_auto_20201024_0035.py rename to src/hackathon/migrations/0011_auto_20201024_0035.py diff --git a/hackathon/migrations/0012_remove_hackproject_created_by.py b/src/hackathon/migrations/0012_remove_hackproject_created_by.py similarity index 100% rename from hackathon/migrations/0012_remove_hackproject_created_by.py rename to src/hackathon/migrations/0012_remove_hackproject_created_by.py diff --git a/hackathon/migrations/0013_remove_hackproject_mentor.py b/src/hackathon/migrations/0013_remove_hackproject_mentor.py similarity index 100% rename from hackathon/migrations/0013_remove_hackproject_mentor.py rename to src/hackathon/migrations/0013_remove_hackproject_mentor.py diff --git a/hackathon/migrations/0014_auto_20201020_1953.py b/src/hackathon/migrations/0014_auto_20201020_1953.py similarity index 100% rename from hackathon/migrations/0014_auto_20201020_1953.py rename to src/hackathon/migrations/0014_auto_20201020_1953.py diff --git a/hackathon/migrations/0015_auto_20201020_1955.py b/src/hackathon/migrations/0015_auto_20201020_1955.py similarity index 100% rename from hackathon/migrations/0015_auto_20201020_1955.py rename to src/hackathon/migrations/0015_auto_20201020_1955.py diff --git a/hackathon/migrations/0016_merge_20201024_1240.py b/src/hackathon/migrations/0016_merge_20201024_1240.py similarity index 100% rename from hackathon/migrations/0016_merge_20201024_1240.py rename to src/hackathon/migrations/0016_merge_20201024_1240.py diff --git a/hackathon/migrations/0017_auto_20201024_1431.py b/src/hackathon/migrations/0017_auto_20201024_1431.py similarity index 100% rename from hackathon/migrations/0017_auto_20201024_1431.py rename to src/hackathon/migrations/0017_auto_20201024_1431.py diff --git a/hackathon/migrations/0017_auto_20201025_1211.py b/src/hackathon/migrations/0017_auto_20201025_1211.py similarity index 100% rename from hackathon/migrations/0017_auto_20201025_1211.py rename to src/hackathon/migrations/0017_auto_20201025_1211.py diff --git a/hackathon/migrations/0017_auto_20201025_2140.py b/src/hackathon/migrations/0017_auto_20201025_2140.py similarity index 100% rename from hackathon/migrations/0017_auto_20201025_2140.py rename to src/hackathon/migrations/0017_auto_20201025_2140.py diff --git a/hackathon/migrations/0017_auto_20201026_1312.py b/src/hackathon/migrations/0017_auto_20201026_1312.py similarity index 79% rename from hackathon/migrations/0017_auto_20201026_1312.py rename to src/hackathon/migrations/0017_auto_20201026_1312.py index 31857896..c8f44789 100644 --- a/hackathon/migrations/0017_auto_20201026_1312.py +++ b/src/hackathon/migrations/0017_auto_20201026_1312.py @@ -14,12 +14,7 @@ class Migration(migrations.Migration): ] operations = [ - migrations.AddField( - model_name='hackathon', - name='organisation', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='hackathon_organisation', to='accounts.organisation'), - ), - migrations.AddField( + migrations.AlterField( model_name='hackathon', name='status', field=models.CharField(choices=[('draft', 'Draft'), ('published', 'Published'), ('deleted', 'Deleted')], default='draft', max_length=10), diff --git a/hackathon/migrations/0018_auto_20201025_1933.py b/src/hackathon/migrations/0018_auto_20201025_1933.py similarity index 100% rename from hackathon/migrations/0018_auto_20201025_1933.py rename to src/hackathon/migrations/0018_auto_20201025_1933.py diff --git a/hackathon/migrations/0018_hackathon_status.py b/src/hackathon/migrations/0018_hackathon_status.py similarity index 100% rename from hackathon/migrations/0018_hackathon_status.py rename to src/hackathon/migrations/0018_hackathon_status.py diff --git a/hackathon/migrations/0018_merge_20201026_1722.py b/src/hackathon/migrations/0018_merge_20201026_1722.py similarity index 100% rename from hackathon/migrations/0018_merge_20201026_1722.py rename to src/hackathon/migrations/0018_merge_20201026_1722.py diff --git a/hackathon/migrations/0019_auto_20201025_2022.py b/src/hackathon/migrations/0019_auto_20201025_2022.py similarity index 100% rename from hackathon/migrations/0019_auto_20201025_2022.py rename to src/hackathon/migrations/0019_auto_20201025_2022.py diff --git a/hackathon/migrations/0020_merge_20201026_2056.py b/src/hackathon/migrations/0020_merge_20201026_2056.py similarity index 100% rename from hackathon/migrations/0020_merge_20201026_2056.py rename to src/hackathon/migrations/0020_merge_20201026_2056.py diff --git a/hackathon/migrations/0021_hackathon_participants.py b/src/hackathon/migrations/0021_hackathon_participants.py similarity index 100% rename from hackathon/migrations/0021_hackathon_participants.py rename to src/hackathon/migrations/0021_hackathon_participants.py diff --git a/hackathon/migrations/0021_merge_20201029_1407.py b/src/hackathon/migrations/0021_merge_20201029_1407.py similarity index 100% rename from hackathon/migrations/0021_merge_20201029_1407.py rename to src/hackathon/migrations/0021_merge_20201029_1407.py diff --git a/hackathon/migrations/0022_auto_20201028_2308.py b/src/hackathon/migrations/0022_auto_20201028_2308.py similarity index 100% rename from hackathon/migrations/0022_auto_20201028_2308.py rename to src/hackathon/migrations/0022_auto_20201028_2308.py diff --git a/hackathon/migrations/0022_hackathon_judging_status.py b/src/hackathon/migrations/0022_hackathon_judging_status.py similarity index 100% rename from hackathon/migrations/0022_hackathon_judging_status.py rename to src/hackathon/migrations/0022_hackathon_judging_status.py diff --git a/hackathon/migrations/0023_merge_20201103_2114.py b/src/hackathon/migrations/0023_merge_20201103_2114.py similarity index 100% rename from hackathon/migrations/0023_merge_20201103_2114.py rename to src/hackathon/migrations/0023_merge_20201103_2114.py diff --git a/hackathon/migrations/0024_auto_20201103_2114.py b/src/hackathon/migrations/0024_auto_20201103_2114.py similarity index 100% rename from hackathon/migrations/0024_auto_20201103_2114.py rename to src/hackathon/migrations/0024_auto_20201103_2114.py diff --git a/hackathon/migrations/0025_auto_20210111_2242.py b/src/hackathon/migrations/0025_auto_20210111_2242.py similarity index 100% rename from hackathon/migrations/0025_auto_20210111_2242.py rename to src/hackathon/migrations/0025_auto_20210111_2242.py diff --git a/hackathon/migrations/0025_auto_20210113_2249.py b/src/hackathon/migrations/0025_auto_20210113_2249.py similarity index 100% rename from hackathon/migrations/0025_auto_20210113_2249.py rename to src/hackathon/migrations/0025_auto_20210113_2249.py diff --git a/hackathon/migrations/0026_hackproject_technologies_used.py b/src/hackathon/migrations/0026_hackproject_technologies_used.py similarity index 100% rename from hackathon/migrations/0026_hackproject_technologies_used.py rename to src/hackathon/migrations/0026_hackproject_technologies_used.py diff --git a/hackathon/migrations/0026_hackprojectscorecategory_hackathon.py b/src/hackathon/migrations/0026_hackprojectscorecategory_hackathon.py similarity index 100% rename from hackathon/migrations/0026_hackprojectscorecategory_hackathon.py rename to src/hackathon/migrations/0026_hackprojectscorecategory_hackathon.py diff --git a/hackathon/migrations/0027_auto_20210116_1652.py b/src/hackathon/migrations/0027_auto_20210116_1652.py similarity index 100% rename from hackathon/migrations/0027_auto_20210116_1652.py rename to src/hackathon/migrations/0027_auto_20210116_1652.py diff --git a/hackathon/migrations/0027_auto_20210119_0045.py b/src/hackathon/migrations/0027_auto_20210119_0045.py similarity index 100% rename from hackathon/migrations/0027_auto_20210119_0045.py rename to src/hackathon/migrations/0027_auto_20210119_0045.py diff --git a/hackathon/migrations/0028_auto_20210116_1653.py b/src/hackathon/migrations/0028_auto_20210116_1653.py similarity index 100% rename from hackathon/migrations/0028_auto_20210116_1653.py rename to src/hackathon/migrations/0028_auto_20210116_1653.py diff --git a/hackathon/migrations/0028_auto_20210119_2352.py b/src/hackathon/migrations/0028_auto_20210119_2352.py similarity index 100% rename from hackathon/migrations/0028_auto_20210119_2352.py rename to src/hackathon/migrations/0028_auto_20210119_2352.py diff --git a/hackathon/migrations/0029_auto_20210117_1352.py b/src/hackathon/migrations/0029_auto_20210117_1352.py similarity index 100% rename from hackathon/migrations/0029_auto_20210117_1352.py rename to src/hackathon/migrations/0029_auto_20210117_1352.py diff --git a/hackathon/migrations/0030_auto_20210118_1220.py b/src/hackathon/migrations/0030_auto_20210118_1220.py similarity index 100% rename from hackathon/migrations/0030_auto_20210118_1220.py rename to src/hackathon/migrations/0030_auto_20210118_1220.py diff --git a/hackathon/migrations/0031_merge_20210118_1524.py b/src/hackathon/migrations/0031_merge_20210118_1524.py similarity index 100% rename from hackathon/migrations/0031_merge_20210118_1524.py rename to src/hackathon/migrations/0031_merge_20210118_1524.py diff --git a/hackathon/migrations/0032_merge_20210120_1141.py b/src/hackathon/migrations/0032_merge_20210120_1141.py similarity index 100% rename from hackathon/migrations/0032_merge_20210120_1141.py rename to src/hackathon/migrations/0032_merge_20210120_1141.py diff --git a/hackathon/migrations/0033_auto_20210128_1736.py b/src/hackathon/migrations/0033_auto_20210128_1736.py similarity index 100% rename from hackathon/migrations/0033_auto_20210128_1736.py rename to src/hackathon/migrations/0033_auto_20210128_1736.py diff --git a/hackathon/migrations/0034_hackathon_hackathon_image.py b/src/hackathon/migrations/0034_hackathon_hackathon_image.py similarity index 100% rename from hackathon/migrations/0034_hackathon_hackathon_image.py rename to src/hackathon/migrations/0034_hackathon_hackathon_image.py diff --git a/src/hackathon/migrations/0035_auto_20210205_1300.py b/src/hackathon/migrations/0035_auto_20210205_1300.py new file mode 100644 index 00000000..3ae1c8a8 --- /dev/null +++ b/src/hackathon/migrations/0035_auto_20210205_1300.py @@ -0,0 +1,27 @@ +# Generated by Django 3.1.3 on 2021-02-05 13:00 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('accounts', '0012_auto_20210205_1300'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('hackathon', '0034_hackathon_hackathon_image'), + ] + + operations = [ + migrations.AddField( + model_name='hackathon', + name='organisation', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='hackathons', to='accounts.organisation'), + ), + migrations.AlterField( + model_name='hackathon', + name='organiser', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='organised_hackathons', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/hackathon/migrations/__init__.py b/src/hackathon/migrations/__init__.py similarity index 100% rename from hackathon/migrations/__init__.py rename to src/hackathon/migrations/__init__.py diff --git a/hackathon/models.py b/src/hackathon/models.py similarity index 98% rename from hackathon/models.py rename to src/hackathon/models.py index b7f8a457..9847e87b 100644 --- a/hackathon/models.py +++ b/src/hackathon/models.py @@ -55,12 +55,12 @@ class Hackathon(models.Model): null=True, blank=True, on_delete=models.SET_NULL, - related_name="hackathon_organiser") + related_name="organised_hackathons") organisation = models.ForeignKey(Organisation, null=True, blank=True, on_delete=models.SET_NULL, - related_name='hackathon_organisation') + related_name='hackathons') status = models.CharField( max_length=20, blank=False, diff --git a/hackathon/static/hackathon/css/hackathon.css b/src/hackathon/static/hackathon/css/hackathon.css similarity index 100% rename from hackathon/static/hackathon/css/hackathon.css rename to src/hackathon/static/hackathon/css/hackathon.css diff --git a/hackathon/templates/hackathon/change_awards.html b/src/hackathon/templates/hackathon/change_awards.html similarity index 100% rename from hackathon/templates/hackathon/change_awards.html rename to src/hackathon/templates/hackathon/change_awards.html diff --git a/hackathon/templates/hackathon/create-event.html b/src/hackathon/templates/hackathon/create-event.html similarity index 100% rename from hackathon/templates/hackathon/create-event.html rename to src/hackathon/templates/hackathon/create-event.html diff --git a/hackathon/templates/hackathon/final_score.html b/src/hackathon/templates/hackathon/final_score.html similarity index 100% rename from hackathon/templates/hackathon/final_score.html rename to src/hackathon/templates/hackathon/final_score.html diff --git a/hackathon/templates/hackathon/hackathon_list.html b/src/hackathon/templates/hackathon/hackathon_list.html similarity index 100% rename from hackathon/templates/hackathon/hackathon_list.html rename to src/hackathon/templates/hackathon/hackathon_list.html diff --git a/hackathon/templates/hackathon/hackathon_view.html b/src/hackathon/templates/hackathon/hackathon_view.html similarity index 100% rename from hackathon/templates/hackathon/hackathon_view.html rename to src/hackathon/templates/hackathon/hackathon_view.html diff --git a/hackathon/templates/hackathon/includes/change_status.html b/src/hackathon/templates/hackathon/includes/change_status.html similarity index 100% rename from hackathon/templates/hackathon/includes/change_status.html rename to src/hackathon/templates/hackathon/includes/change_status.html diff --git a/hackathon/templates/hackathon/includes/enrollpart.html b/src/hackathon/templates/hackathon/includes/enrollpart.html similarity index 100% rename from hackathon/templates/hackathon/includes/enrollpart.html rename to src/hackathon/templates/hackathon/includes/enrollpart.html diff --git a/hackathon/templates/hackathon/includes/enrollstaff.html b/src/hackathon/templates/hackathon/includes/enrollstaff.html similarity index 100% rename from hackathon/templates/hackathon/includes/enrollstaff.html rename to src/hackathon/templates/hackathon/includes/enrollstaff.html diff --git a/hackathon/templates/hackathon/includes/hackathon_card.html b/src/hackathon/templates/hackathon/includes/hackathon_card.html similarity index 100% rename from hackathon/templates/hackathon/includes/hackathon_card.html rename to src/hackathon/templates/hackathon/includes/hackathon_card.html diff --git a/hackathon/templates/hackathon/includes/paginator.html b/src/hackathon/templates/hackathon/includes/paginator.html similarity index 100% rename from hackathon/templates/hackathon/includes/paginator.html rename to src/hackathon/templates/hackathon/includes/paginator.html diff --git a/hackathon/templates/hackathon/judging.html b/src/hackathon/templates/hackathon/judging.html similarity index 100% rename from hackathon/templates/hackathon/judging.html rename to src/hackathon/templates/hackathon/judging.html diff --git a/hackathon/templatetags/__init__.py b/src/hackathon/templatetags/__init__.py similarity index 100% rename from hackathon/templatetags/__init__.py rename to src/hackathon/templatetags/__init__.py diff --git a/hackathon/templatetags/my_tags.py b/src/hackathon/templatetags/my_tags.py similarity index 100% rename from hackathon/templatetags/my_tags.py rename to src/hackathon/templatetags/my_tags.py diff --git a/hackathon/tests/__init__.py b/src/hackathon/tests/__init__.py similarity index 100% rename from hackathon/tests/__init__.py rename to src/hackathon/tests/__init__.py diff --git a/hackathon/tests/test_models.py b/src/hackathon/tests/test_models.py similarity index 100% rename from hackathon/tests/test_models.py rename to src/hackathon/tests/test_models.py diff --git a/hackathon/tests/test_views.py b/src/hackathon/tests/test_views.py similarity index 100% rename from hackathon/tests/test_views.py rename to src/hackathon/tests/test_views.py diff --git a/hackathon/tests/unit_tests.py b/src/hackathon/tests/unit_tests.py similarity index 100% rename from hackathon/tests/unit_tests.py rename to src/hackathon/tests/unit_tests.py diff --git a/hackathon/urls.py b/src/hackathon/urls.py similarity index 100% rename from hackathon/urls.py rename to src/hackathon/urls.py diff --git a/hackathon/views.py b/src/hackathon/views.py similarity index 98% rename from hackathon/views.py rename to src/hackathon/views.py index eb8bcb1f..385a522c 100644 --- a/hackathon/views.py +++ b/src/hackathon/views.py @@ -3,7 +3,6 @@ from operator import itemgetter import logging -from dateutil.parser import parse from django.db import transaction, IntegrityError from django.forms import modelformset_factory from django.views.generic import ListView, DetailView @@ -20,7 +19,8 @@ HackAwardForm from .lists import AWARD_CATEGORIES from .helpers import create_team_judge_category_construct,\ - create_category_team_construct, count_judges_scores + create_category_team_construct, count_judges_scores,\ + format_date DEFAULT_SCORES = { 'team_name': '', @@ -290,10 +290,9 @@ def create_hackathon(request): else: form = HackathonForm(request.POST) # Convert start and end date strings to datetime and validate - start_date = parse(request.POST.get('start_date')) - end_date = parse(request.POST.get('end_date')) + start_date = format_date(request.POST.get('start_date')) + end_date = format_date(request.POST.get('end_date')) now = datetime.now() - # Ensure start_date is a day in the future if start_date.date() <= now.date(): messages.error( @@ -353,8 +352,9 @@ def update_hackathon(request, hackathon_id): else: form = HackathonForm(request.POST, instance=hackathon) # Convert start and end date strings to datetime and validate - start_date = parse(request.POST.get('start_date')) - end_date = parse(request.POST.get('end_date')) + + start_date = format_date(request.POST.get('start_date')) + end_date = format_date(request.POST.get('end_date')) now = datetime.now() # Ensure start_date is a day in the future for hackathons that haven't diff --git a/home/__init__.py b/src/home/__init__.py similarity index 100% rename from home/__init__.py rename to src/home/__init__.py diff --git a/home/apps.py b/src/home/apps.py similarity index 100% rename from home/apps.py rename to src/home/apps.py diff --git a/home/migrations/__init__.py b/src/home/migrations/__init__.py similarity index 100% rename from home/migrations/__init__.py rename to src/home/migrations/__init__.py diff --git a/home/templates/home/index.html b/src/home/templates/home/index.html similarity index 100% rename from home/templates/home/index.html rename to src/home/templates/home/index.html diff --git a/home/urls.py b/src/home/urls.py similarity index 100% rename from home/urls.py rename to src/home/urls.py diff --git a/home/views.py b/src/home/views.py similarity index 100% rename from home/views.py rename to src/home/views.py diff --git a/images/__init__.py b/src/images/__init__.py similarity index 100% rename from images/__init__.py rename to src/images/__init__.py diff --git a/images/admin.py b/src/images/admin.py similarity index 100% rename from images/admin.py rename to src/images/admin.py diff --git a/images/apps.py b/src/images/apps.py similarity index 100% rename from images/apps.py rename to src/images/apps.py diff --git a/images/helpers.py b/src/images/helpers.py similarity index 100% rename from images/helpers.py rename to src/images/helpers.py diff --git a/images/migrations/__init__.py b/src/images/migrations/__init__.py similarity index 100% rename from images/migrations/__init__.py rename to src/images/migrations/__init__.py diff --git a/images/models.py b/src/images/models.py similarity index 100% rename from images/models.py rename to src/images/models.py diff --git a/images/urls.py b/src/images/urls.py similarity index 100% rename from images/urls.py rename to src/images/urls.py diff --git a/images/views.py b/src/images/views.py similarity index 100% rename from images/views.py rename to src/images/views.py diff --git a/main/__init__.py b/src/main/__init__.py similarity index 100% rename from main/__init__.py rename to src/main/__init__.py diff --git a/main/asgi.py b/src/main/asgi.py similarity index 100% rename from main/asgi.py rename to src/main/asgi.py diff --git a/main/settings.py b/src/main/settings.py similarity index 91% rename from main/settings.py rename to src/main/settings.py index 676a0b23..f387cb82 100644 --- a/main/settings.py +++ b/src/main/settings.py @@ -1,6 +1,7 @@ import os import dj_database_url if os.path.exists(".env"): + print("PATH EXISTS") from dotenv import load_dotenv load_dotenv() @@ -107,20 +108,19 @@ WSGI_APPLICATION = "main.wsgi.application" - -if "DATABASE_URL" in os.environ: - print("Postgres DATABASE_URL found.") - DATABASES = { - "default": dj_database_url.parse(os.environ.get("DATABASE_URL")) - } -else: - print("Postgres DATABASE_URL not found, using db.sqlite3") - DATABASES = { - "default": { - "ENGINE": "django.db.backends.sqlite3", - "NAME": os.path.join(BASE_DIR, "db.sqlite3"), - } - } +DATABASES = { + 'default': { + 'ATOMIC_REQUESTS': True, + 'CONN_MAX_AGE': 0, + 'ENGINE': 'django.db.backends.mysql', + 'HOST': os.getenv('DBHOST'), # '127.0.0.1', + 'NAME': os.getenv('DBNAME'), #'hackathons', + 'OPTIONS': {}, + 'PASSWORD': os.getenv('DBPASS'), + 'PORT': os.getenv('DBPORT', '3306'), + 'USER': os.getenv('DBUSER'), + }, +} AUTH_PASSWORD_VALIDATORS = [ diff --git a/main/urls.py b/src/main/urls.py similarity index 100% rename from main/urls.py rename to src/main/urls.py diff --git a/main/wsgi.py b/src/main/wsgi.py similarity index 100% rename from main/wsgi.py rename to src/main/wsgi.py diff --git a/manage.py b/src/manage.py similarity index 100% rename from manage.py rename to src/manage.py diff --git a/profiles/__init__.py b/src/profiles/__init__.py similarity index 100% rename from profiles/__init__.py rename to src/profiles/__init__.py diff --git a/profiles/apps.py b/src/profiles/apps.py similarity index 100% rename from profiles/apps.py rename to src/profiles/apps.py diff --git a/profiles/forms.py b/src/profiles/forms.py similarity index 100% rename from profiles/forms.py rename to src/profiles/forms.py diff --git a/profiles/migrations/__init__.py b/src/profiles/migrations/__init__.py similarity index 100% rename from profiles/migrations/__init__.py rename to src/profiles/migrations/__init__.py diff --git a/profiles/models.py b/src/profiles/models.py similarity index 100% rename from profiles/models.py rename to src/profiles/models.py diff --git a/profiles/templates/profiles/profile.html b/src/profiles/templates/profiles/profile.html similarity index 100% rename from profiles/templates/profiles/profile.html rename to src/profiles/templates/profiles/profile.html diff --git a/profiles/urls.py b/src/profiles/urls.py similarity index 100% rename from profiles/urls.py rename to src/profiles/urls.py diff --git a/profiles/views.py b/src/profiles/views.py similarity index 100% rename from profiles/views.py rename to src/profiles/views.py diff --git a/resources/__init__.py b/src/resources/__init__.py similarity index 100% rename from resources/__init__.py rename to src/resources/__init__.py diff --git a/resources/admin.py b/src/resources/admin.py similarity index 100% rename from resources/admin.py rename to src/resources/admin.py diff --git a/resources/apps.py b/src/resources/apps.py similarity index 100% rename from resources/apps.py rename to src/resources/apps.py diff --git a/resources/fixtures/resources.json b/src/resources/fixtures/resources.json similarity index 100% rename from resources/fixtures/resources.json rename to src/resources/fixtures/resources.json diff --git a/resources/forms.py b/src/resources/forms.py similarity index 100% rename from resources/forms.py rename to src/resources/forms.py diff --git a/resources/migrations/0001_initial.py b/src/resources/migrations/0001_initial.py similarity index 100% rename from resources/migrations/0001_initial.py rename to src/resources/migrations/0001_initial.py diff --git a/resources/migrations/0002_resource_description.py b/src/resources/migrations/0002_resource_description.py similarity index 100% rename from resources/migrations/0002_resource_description.py rename to src/resources/migrations/0002_resource_description.py diff --git a/resources/migrations/0003_auto_20201022_2010.py b/src/resources/migrations/0003_auto_20201022_2010.py similarity index 100% rename from resources/migrations/0003_auto_20201022_2010.py rename to src/resources/migrations/0003_auto_20201022_2010.py diff --git a/resources/migrations/0004_auto_20201024_1833.py b/src/resources/migrations/0004_auto_20201024_1833.py similarity index 100% rename from resources/migrations/0004_auto_20201024_1833.py rename to src/resources/migrations/0004_auto_20201024_1833.py diff --git a/resources/migrations/__init__.py b/src/resources/migrations/__init__.py similarity index 100% rename from resources/migrations/__init__.py rename to src/resources/migrations/__init__.py diff --git a/resources/models.py b/src/resources/models.py similarity index 100% rename from resources/models.py rename to src/resources/models.py diff --git a/resources/templates/resources/add_resource.html b/src/resources/templates/resources/add_resource.html similarity index 100% rename from resources/templates/resources/add_resource.html rename to src/resources/templates/resources/add_resource.html diff --git a/resources/templates/resources/edit_resource.html b/src/resources/templates/resources/edit_resource.html similarity index 100% rename from resources/templates/resources/edit_resource.html rename to src/resources/templates/resources/edit_resource.html diff --git a/resources/templates/resources/resources.html b/src/resources/templates/resources/resources.html similarity index 100% rename from resources/templates/resources/resources.html rename to src/resources/templates/resources/resources.html diff --git a/resources/tests.py b/src/resources/tests.py similarity index 100% rename from resources/tests.py rename to src/resources/tests.py diff --git a/resources/urls.py b/src/resources/urls.py similarity index 100% rename from resources/urls.py rename to src/resources/urls.py diff --git a/resources/views.py b/src/resources/views.py similarity index 100% rename from resources/views.py rename to src/resources/views.py diff --git a/showcase/__init__.py b/src/showcase/__init__.py similarity index 100% rename from showcase/__init__.py rename to src/showcase/__init__.py diff --git a/showcase/admin.py b/src/showcase/admin.py similarity index 100% rename from showcase/admin.py rename to src/showcase/admin.py diff --git a/showcase/apps.py b/src/showcase/apps.py similarity index 100% rename from showcase/apps.py rename to src/showcase/apps.py diff --git a/showcase/fixtures/showcase.json b/src/showcase/fixtures/showcase.json similarity index 100% rename from showcase/fixtures/showcase.json rename to src/showcase/fixtures/showcase.json diff --git a/showcase/forms.py b/src/showcase/forms.py similarity index 100% rename from showcase/forms.py rename to src/showcase/forms.py diff --git a/showcase/migrations/0001_initial.py b/src/showcase/migrations/0001_initial.py similarity index 100% rename from showcase/migrations/0001_initial.py rename to src/showcase/migrations/0001_initial.py diff --git a/showcase/migrations/__init__.py b/src/showcase/migrations/__init__.py similarity index 100% rename from showcase/migrations/__init__.py rename to src/showcase/migrations/__init__.py diff --git a/showcase/models.py b/src/showcase/models.py similarity index 100% rename from showcase/models.py rename to src/showcase/models.py diff --git a/showcase/templates/edit_showcase.html b/src/showcase/templates/edit_showcase.html similarity index 100% rename from showcase/templates/edit_showcase.html rename to src/showcase/templates/edit_showcase.html diff --git a/showcase/templates/showcase.html b/src/showcase/templates/showcase.html similarity index 100% rename from showcase/templates/showcase.html rename to src/showcase/templates/showcase.html diff --git a/showcase/tests.py b/src/showcase/tests.py similarity index 100% rename from showcase/tests.py rename to src/showcase/tests.py diff --git a/showcase/urls.py b/src/showcase/urls.py similarity index 100% rename from showcase/urls.py rename to src/showcase/urls.py diff --git a/showcase/views.py b/src/showcase/views.py similarity index 100% rename from showcase/views.py rename to src/showcase/views.py diff --git a/static/css/allauthstyles.css b/src/static/css/allauthstyles.css similarity index 100% rename from static/css/allauthstyles.css rename to src/static/css/allauthstyles.css diff --git a/static/css/home.css b/src/static/css/home.css similarity index 100% rename from static/css/home.css rename to src/static/css/home.css diff --git a/static/css/profile.css b/src/static/css/profile.css similarity index 100% rename from static/css/profile.css rename to src/static/css/profile.css diff --git a/static/css/style.css b/src/static/css/style.css similarity index 100% rename from static/css/style.css rename to src/static/css/style.css diff --git a/static/documentation/forking.md b/src/static/documentation/forking.md similarity index 100% rename from static/documentation/forking.md rename to src/static/documentation/forking.md diff --git a/static/documentation/uat.md b/src/static/documentation/uat.md similarity index 100% rename from static/documentation/uat.md rename to src/static/documentation/uat.md diff --git a/static/img/ci-favicon.png b/src/static/img/ci-favicon.png similarity index 100% rename from static/img/ci-favicon.png rename to src/static/img/ci-favicon.png diff --git a/static/img/ci-hackathon--horizontal.png b/src/static/img/ci-hackathon--horizontal.png similarity index 100% rename from static/img/ci-hackathon--horizontal.png rename to src/static/img/ci-hackathon--horizontal.png diff --git a/static/img/ci-hackathon--square.png b/src/static/img/ci-hackathon--square.png similarity index 100% rename from static/img/ci-hackathon--square.png rename to src/static/img/ci-hackathon--square.png diff --git a/static/img/ci-hacking-new-normal--horizontal-center.png b/src/static/img/ci-hacking-new-normal--horizontal-center.png similarity index 100% rename from static/img/ci-hacking-new-normal--horizontal-center.png rename to src/static/img/ci-hacking-new-normal--horizontal-center.png diff --git a/static/img/ci-hacking-new-normal--horizontal-left.png b/src/static/img/ci-hacking-new-normal--horizontal-left.png similarity index 100% rename from static/img/ci-hacking-new-normal--horizontal-left.png rename to src/static/img/ci-hacking-new-normal--horizontal-left.png diff --git a/static/img/ci-hacking-new-normal--square.png b/src/static/img/ci-hacking-new-normal--square.png similarity index 100% rename from static/img/ci-hacking-new-normal--square.png rename to src/static/img/ci-hacking-new-normal--square.png diff --git a/static/img/ci-logo.svg b/src/static/img/ci-logo.svg similarity index 100% rename from static/img/ci-logo.svg rename to src/static/img/ci-logo.svg diff --git a/static/img/documentation/compare-and-pull.png b/src/static/img/documentation/compare-and-pull.png similarity index 100% rename from static/img/documentation/compare-and-pull.png rename to src/static/img/documentation/compare-and-pull.png diff --git a/static/img/documentation/flow-chart.png b/src/static/img/documentation/flow-chart.png similarity index 100% rename from static/img/documentation/flow-chart.png rename to src/static/img/documentation/flow-chart.png diff --git a/static/img/documentation/fork.PNG b/src/static/img/documentation/fork.PNG similarity index 100% rename from static/img/documentation/fork.PNG rename to src/static/img/documentation/fork.PNG diff --git a/static/img/documentation/hackathon-ERD.png b/src/static/img/documentation/hackathon-ERD.png similarity index 100% rename from static/img/documentation/hackathon-ERD.png rename to src/static/img/documentation/hackathon-ERD.png diff --git a/static/img/documentation/hackathon-use-case--judge.png b/src/static/img/documentation/hackathon-use-case--judge.png similarity index 100% rename from static/img/documentation/hackathon-use-case--judge.png rename to src/static/img/documentation/hackathon-use-case--judge.png diff --git a/static/img/documentation/hackathon-use-case--organizer.png b/src/static/img/documentation/hackathon-use-case--organizer.png similarity index 100% rename from static/img/documentation/hackathon-use-case--organizer.png rename to src/static/img/documentation/hackathon-use-case--organizer.png diff --git a/static/img/documentation/hackathon-use-case--participant.png b/src/static/img/documentation/hackathon-use-case--participant.png similarity index 100% rename from static/img/documentation/hackathon-use-case--participant.png rename to src/static/img/documentation/hackathon-use-case--participant.png diff --git a/static/img/documentation/hackathon_lifecycle.svg b/src/static/img/documentation/hackathon_lifecycle.svg similarity index 100% rename from static/img/documentation/hackathon_lifecycle.svg rename to src/static/img/documentation/hackathon_lifecycle.svg diff --git a/static/img/documentation/issues-open.png b/src/static/img/documentation/issues-open.png similarity index 100% rename from static/img/documentation/issues-open.png rename to src/static/img/documentation/issues-open.png diff --git a/static/img/documentation/projects-to-do.png b/src/static/img/documentation/projects-to-do.png similarity index 100% rename from static/img/documentation/projects-to-do.png rename to src/static/img/documentation/projects-to-do.png diff --git a/static/img/documentation/pull-request.png b/src/static/img/documentation/pull-request.png similarity index 100% rename from static/img/documentation/pull-request.png rename to src/static/img/documentation/pull-request.png diff --git a/static/img/hackathon-bg.png b/src/static/img/hackathon-bg.png similarity index 100% rename from static/img/hackathon-bg.png rename to src/static/img/hackathon-bg.png diff --git a/static/img/profiles/profile.png b/src/static/img/profiles/profile.png similarity index 100% rename from static/img/profiles/profile.png rename to src/static/img/profiles/profile.png diff --git a/static/img/profiles/profile_cat.png b/src/static/img/profiles/profile_cat.png similarity index 100% rename from static/img/profiles/profile_cat.png rename to src/static/img/profiles/profile_cat.png diff --git a/static/img/profiles/user-thumbnail.png b/src/static/img/profiles/user-thumbnail.png similarity index 100% rename from static/img/profiles/user-thumbnail.png rename to src/static/img/profiles/user-thumbnail.png diff --git a/static/img/undraw_blank_canvas_3rbb.svg b/src/static/img/undraw_blank_canvas_3rbb.svg similarity index 100% rename from static/img/undraw_blank_canvas_3rbb.svg rename to src/static/img/undraw_blank_canvas_3rbb.svg diff --git a/static/img/undraw_server_down_s4lk.svg b/src/static/img/undraw_server_down_s4lk.svg similarity index 100% rename from static/img/undraw_server_down_s4lk.svg rename to src/static/img/undraw_server_down_s4lk.svg diff --git a/static/img/undraw_warning_cyit.svg b/src/static/img/undraw_warning_cyit.svg similarity index 100% rename from static/img/undraw_warning_cyit.svg rename to src/static/img/undraw_warning_cyit.svg diff --git a/static/js/datetimepicker.js b/src/static/js/datetimepicker.js similarity index 100% rename from static/js/datetimepicker.js rename to src/static/js/datetimepicker.js diff --git a/static/js/script.js b/src/static/js/script.js similarity index 100% rename from static/js/script.js rename to src/static/js/script.js diff --git a/static/js/teams.js b/src/static/js/teams.js similarity index 100% rename from static/js/teams.js rename to src/static/js/teams.js diff --git a/static/wireframes/hackathon-page--desktop.png b/src/static/wireframes/hackathon-page--desktop.png similarity index 100% rename from static/wireframes/hackathon-page--desktop.png rename to src/static/wireframes/hackathon-page--desktop.png diff --git a/static/wireframes/judging-page--desktop.png b/src/static/wireframes/judging-page--desktop.png similarity index 100% rename from static/wireframes/judging-page--desktop.png rename to src/static/wireframes/judging-page--desktop.png diff --git a/static/wireframes/langing-page--desktop.png b/src/static/wireframes/langing-page--desktop.png similarity index 100% rename from static/wireframes/langing-page--desktop.png rename to src/static/wireframes/langing-page--desktop.png diff --git a/static/wireframes/login-page--desktop.png b/src/static/wireframes/login-page--desktop.png similarity index 100% rename from static/wireframes/login-page--desktop.png rename to src/static/wireframes/login-page--desktop.png diff --git a/static/wireframes/profile-page--desktop.png b/src/static/wireframes/profile-page--desktop.png similarity index 100% rename from static/wireframes/profile-page--desktop.png rename to src/static/wireframes/profile-page--desktop.png diff --git a/static/wireframes/register-page--desktop.png b/src/static/wireframes/register-page--desktop.png similarity index 100% rename from static/wireframes/register-page--desktop.png rename to src/static/wireframes/register-page--desktop.png diff --git a/submissions/__init__.py b/src/submissions/__init__.py similarity index 100% rename from submissions/__init__.py rename to src/submissions/__init__.py diff --git a/submissions/apps.py b/src/submissions/apps.py similarity index 100% rename from submissions/apps.py rename to src/submissions/apps.py diff --git a/submissions/forms.py b/src/submissions/forms.py similarity index 100% rename from submissions/forms.py rename to src/submissions/forms.py diff --git a/submissions/migrations/__init__.py b/src/submissions/migrations/__init__.py similarity index 100% rename from submissions/migrations/__init__.py rename to src/submissions/migrations/__init__.py diff --git a/submissions/templates/submissions/submit.html b/src/submissions/templates/submissions/submit.html similarity index 100% rename from submissions/templates/submissions/submit.html rename to src/submissions/templates/submissions/submit.html diff --git a/submissions/templates/submissions/success.html b/src/submissions/templates/submissions/success.html similarity index 100% rename from submissions/templates/submissions/success.html rename to src/submissions/templates/submissions/success.html diff --git a/submissions/tests.py b/src/submissions/tests.py similarity index 100% rename from submissions/tests.py rename to src/submissions/tests.py diff --git a/submissions/urls.py b/src/submissions/urls.py similarity index 100% rename from submissions/urls.py rename to src/submissions/urls.py diff --git a/submissions/views.py b/src/submissions/views.py similarity index 100% rename from submissions/views.py rename to src/submissions/views.py diff --git a/teams/__init__.py b/src/teams/__init__.py similarity index 100% rename from teams/__init__.py rename to src/teams/__init__.py diff --git a/teams/admin.py b/src/teams/admin.py similarity index 100% rename from teams/admin.py rename to src/teams/admin.py diff --git a/teams/apps.py b/src/teams/apps.py similarity index 100% rename from teams/apps.py rename to src/teams/apps.py diff --git a/teams/forms.py b/src/teams/forms.py similarity index 100% rename from teams/forms.py rename to src/teams/forms.py diff --git a/teams/helpers.py b/src/teams/helpers.py similarity index 100% rename from teams/helpers.py rename to src/teams/helpers.py diff --git a/teams/lists.py b/src/teams/lists.py similarity index 100% rename from teams/lists.py rename to src/teams/lists.py diff --git a/teams/migrations/__init__.py b/src/teams/migrations/__init__.py similarity index 100% rename from teams/migrations/__init__.py rename to src/teams/migrations/__init__.py diff --git a/teams/models.py b/src/teams/models.py similarity index 100% rename from teams/models.py rename to src/teams/models.py diff --git a/teams/templates/change_teams.html b/src/teams/templates/change_teams.html similarity index 100% rename from teams/templates/change_teams.html rename to src/teams/templates/change_teams.html diff --git a/teams/templates/create_project.html b/src/teams/templates/create_project.html similarity index 100% rename from teams/templates/create_project.html rename to src/teams/templates/create_project.html diff --git a/teams/templates/includes/anon_member.html b/src/teams/templates/includes/anon_member.html similarity index 100% rename from teams/templates/includes/anon_member.html rename to src/teams/templates/includes/anon_member.html diff --git a/teams/templates/includes/empty_project.html b/src/teams/templates/includes/empty_project.html similarity index 100% rename from teams/templates/includes/empty_project.html rename to src/teams/templates/includes/empty_project.html diff --git a/teams/templates/includes/member.html b/src/teams/templates/includes/member.html similarity index 100% rename from teams/templates/includes/member.html rename to src/teams/templates/includes/member.html diff --git a/teams/templates/includes/menu.html b/src/teams/templates/includes/menu.html similarity index 100% rename from teams/templates/includes/menu.html rename to src/teams/templates/includes/menu.html diff --git a/teams/templates/includes/project.html b/src/teams/templates/includes/project.html similarity index 100% rename from teams/templates/includes/project.html rename to src/teams/templates/includes/project.html diff --git a/teams/templates/includes/project_not_visible.html b/src/teams/templates/includes/project_not_visible.html similarity index 100% rename from teams/templates/includes/project_not_visible.html rename to src/teams/templates/includes/project_not_visible.html diff --git a/teams/templates/includes/rename_team.html b/src/teams/templates/includes/rename_team.html similarity index 100% rename from teams/templates/includes/rename_team.html rename to src/teams/templates/includes/rename_team.html diff --git a/teams/templates/includes/showcase_member.html b/src/teams/templates/includes/showcase_member.html similarity index 100% rename from teams/templates/includes/showcase_member.html rename to src/teams/templates/includes/showcase_member.html diff --git a/teams/templates/team.html b/src/teams/templates/team.html similarity index 100% rename from teams/templates/team.html rename to src/teams/templates/team.html diff --git a/teams/templatetags/__init__.py b/src/teams/templatetags/__init__.py similarity index 100% rename from teams/templatetags/__init__.py rename to src/teams/templatetags/__init__.py diff --git a/teams/templatetags/teams_tags.py b/src/teams/templatetags/teams_tags.py similarity index 100% rename from teams/templatetags/teams_tags.py rename to src/teams/templatetags/teams_tags.py diff --git a/teams/tests.py b/src/teams/tests.py similarity index 100% rename from teams/tests.py rename to src/teams/tests.py diff --git a/teams/urls.py b/src/teams/urls.py similarity index 100% rename from teams/urls.py rename to src/teams/urls.py diff --git a/teams/views.py b/src/teams/views.py similarity index 100% rename from teams/views.py rename to src/teams/views.py diff --git a/templates/404.html b/src/templates/404.html similarity index 100% rename from templates/404.html rename to src/templates/404.html diff --git a/templates/500.html b/src/templates/500.html similarity index 100% rename from templates/500.html rename to src/templates/500.html diff --git a/templates/allauth/account/account_inactive.html b/src/templates/allauth/account/account_inactive.html similarity index 100% rename from templates/allauth/account/account_inactive.html rename to src/templates/allauth/account/account_inactive.html diff --git a/templates/allauth/account/base.html b/src/templates/allauth/account/base.html similarity index 100% rename from templates/allauth/account/base.html rename to src/templates/allauth/account/base.html diff --git a/templates/allauth/account/email.html b/src/templates/allauth/account/email.html similarity index 100% rename from templates/allauth/account/email.html rename to src/templates/allauth/account/email.html diff --git a/templates/allauth/account/email/email_confirmation_message.txt b/src/templates/allauth/account/email/email_confirmation_message.txt similarity index 100% rename from templates/allauth/account/email/email_confirmation_message.txt rename to src/templates/allauth/account/email/email_confirmation_message.txt diff --git a/templates/allauth/account/email/email_confirmation_signup_message.txt b/src/templates/allauth/account/email/email_confirmation_signup_message.txt similarity index 100% rename from templates/allauth/account/email/email_confirmation_signup_message.txt rename to src/templates/allauth/account/email/email_confirmation_signup_message.txt diff --git a/templates/allauth/account/email/email_confirmation_signup_subject.txt b/src/templates/allauth/account/email/email_confirmation_signup_subject.txt similarity index 100% rename from templates/allauth/account/email/email_confirmation_signup_subject.txt rename to src/templates/allauth/account/email/email_confirmation_signup_subject.txt diff --git a/templates/allauth/account/email/email_confirmation_subject.txt b/src/templates/allauth/account/email/email_confirmation_subject.txt similarity index 100% rename from templates/allauth/account/email/email_confirmation_subject.txt rename to src/templates/allauth/account/email/email_confirmation_subject.txt diff --git a/templates/allauth/account/email/password_reset_key_message.txt b/src/templates/allauth/account/email/password_reset_key_message.txt similarity index 100% rename from templates/allauth/account/email/password_reset_key_message.txt rename to src/templates/allauth/account/email/password_reset_key_message.txt diff --git a/templates/allauth/account/email/password_reset_key_subject.txt b/src/templates/allauth/account/email/password_reset_key_subject.txt similarity index 100% rename from templates/allauth/account/email/password_reset_key_subject.txt rename to src/templates/allauth/account/email/password_reset_key_subject.txt diff --git a/templates/allauth/account/email_confirm.html b/src/templates/allauth/account/email_confirm.html similarity index 100% rename from templates/allauth/account/email_confirm.html rename to src/templates/allauth/account/email_confirm.html diff --git a/templates/allauth/account/login.html b/src/templates/allauth/account/login.html similarity index 100% rename from templates/allauth/account/login.html rename to src/templates/allauth/account/login.html diff --git a/templates/allauth/account/logout.html b/src/templates/allauth/account/logout.html similarity index 100% rename from templates/allauth/account/logout.html rename to src/templates/allauth/account/logout.html diff --git a/templates/allauth/account/messages/cannot_delete_primary_email.txt b/src/templates/allauth/account/messages/cannot_delete_primary_email.txt similarity index 100% rename from templates/allauth/account/messages/cannot_delete_primary_email.txt rename to src/templates/allauth/account/messages/cannot_delete_primary_email.txt diff --git a/templates/allauth/account/messages/email_confirmation_sent.txt b/src/templates/allauth/account/messages/email_confirmation_sent.txt similarity index 100% rename from templates/allauth/account/messages/email_confirmation_sent.txt rename to src/templates/allauth/account/messages/email_confirmation_sent.txt diff --git a/templates/allauth/account/messages/email_confirmed.txt b/src/templates/allauth/account/messages/email_confirmed.txt similarity index 100% rename from templates/allauth/account/messages/email_confirmed.txt rename to src/templates/allauth/account/messages/email_confirmed.txt diff --git a/templates/allauth/account/messages/email_deleted.txt b/src/templates/allauth/account/messages/email_deleted.txt similarity index 100% rename from templates/allauth/account/messages/email_deleted.txt rename to src/templates/allauth/account/messages/email_deleted.txt diff --git a/templates/allauth/account/messages/logged_in.txt b/src/templates/allauth/account/messages/logged_in.txt similarity index 100% rename from templates/allauth/account/messages/logged_in.txt rename to src/templates/allauth/account/messages/logged_in.txt diff --git a/templates/allauth/account/messages/logged_out.txt b/src/templates/allauth/account/messages/logged_out.txt similarity index 100% rename from templates/allauth/account/messages/logged_out.txt rename to src/templates/allauth/account/messages/logged_out.txt diff --git a/templates/allauth/account/messages/password_changed.txt b/src/templates/allauth/account/messages/password_changed.txt similarity index 100% rename from templates/allauth/account/messages/password_changed.txt rename to src/templates/allauth/account/messages/password_changed.txt diff --git a/templates/allauth/account/messages/password_set.txt b/src/templates/allauth/account/messages/password_set.txt similarity index 100% rename from templates/allauth/account/messages/password_set.txt rename to src/templates/allauth/account/messages/password_set.txt diff --git a/templates/allauth/account/messages/primary_email_set.txt b/src/templates/allauth/account/messages/primary_email_set.txt similarity index 100% rename from templates/allauth/account/messages/primary_email_set.txt rename to src/templates/allauth/account/messages/primary_email_set.txt diff --git a/templates/allauth/account/messages/unverified_primary_email.txt b/src/templates/allauth/account/messages/unverified_primary_email.txt similarity index 100% rename from templates/allauth/account/messages/unverified_primary_email.txt rename to src/templates/allauth/account/messages/unverified_primary_email.txt diff --git a/templates/allauth/account/password_change.html b/src/templates/allauth/account/password_change.html similarity index 100% rename from templates/allauth/account/password_change.html rename to src/templates/allauth/account/password_change.html diff --git a/templates/allauth/account/password_reset.html b/src/templates/allauth/account/password_reset.html similarity index 100% rename from templates/allauth/account/password_reset.html rename to src/templates/allauth/account/password_reset.html diff --git a/templates/allauth/account/password_reset_done.html b/src/templates/allauth/account/password_reset_done.html similarity index 100% rename from templates/allauth/account/password_reset_done.html rename to src/templates/allauth/account/password_reset_done.html diff --git a/templates/allauth/account/password_reset_from_key.html b/src/templates/allauth/account/password_reset_from_key.html similarity index 100% rename from templates/allauth/account/password_reset_from_key.html rename to src/templates/allauth/account/password_reset_from_key.html diff --git a/templates/allauth/account/password_reset_from_key_done.html b/src/templates/allauth/account/password_reset_from_key_done.html similarity index 100% rename from templates/allauth/account/password_reset_from_key_done.html rename to src/templates/allauth/account/password_reset_from_key_done.html diff --git a/templates/allauth/account/password_set.html b/src/templates/allauth/account/password_set.html similarity index 100% rename from templates/allauth/account/password_set.html rename to src/templates/allauth/account/password_set.html diff --git a/templates/allauth/account/signup.html b/src/templates/allauth/account/signup.html similarity index 100% rename from templates/allauth/account/signup.html rename to src/templates/allauth/account/signup.html diff --git a/templates/allauth/account/signup_closed.html b/src/templates/allauth/account/signup_closed.html similarity index 100% rename from templates/allauth/account/signup_closed.html rename to src/templates/allauth/account/signup_closed.html diff --git a/templates/allauth/account/snippets/already_logged_in.html b/src/templates/allauth/account/snippets/already_logged_in.html similarity index 100% rename from templates/allauth/account/snippets/already_logged_in.html rename to src/templates/allauth/account/snippets/already_logged_in.html diff --git a/templates/allauth/account/verification_sent.html b/src/templates/allauth/account/verification_sent.html similarity index 100% rename from templates/allauth/account/verification_sent.html rename to src/templates/allauth/account/verification_sent.html diff --git a/templates/allauth/account/verified_email_required.html b/src/templates/allauth/account/verified_email_required.html similarity index 100% rename from templates/allauth/account/verified_email_required.html rename to src/templates/allauth/account/verified_email_required.html diff --git a/templates/allauth/base.html b/src/templates/allauth/base.html similarity index 100% rename from templates/allauth/base.html rename to src/templates/allauth/base.html diff --git a/templates/allauth/socialaccount/authentication_error.html b/src/templates/allauth/socialaccount/authentication_error.html similarity index 100% rename from templates/allauth/socialaccount/authentication_error.html rename to src/templates/allauth/socialaccount/authentication_error.html diff --git a/templates/allauth/socialaccount/base.html b/src/templates/allauth/socialaccount/base.html similarity index 100% rename from templates/allauth/socialaccount/base.html rename to src/templates/allauth/socialaccount/base.html diff --git a/templates/allauth/socialaccount/connections.html b/src/templates/allauth/socialaccount/connections.html similarity index 100% rename from templates/allauth/socialaccount/connections.html rename to src/templates/allauth/socialaccount/connections.html diff --git a/templates/allauth/socialaccount/login_cancelled.html b/src/templates/allauth/socialaccount/login_cancelled.html similarity index 100% rename from templates/allauth/socialaccount/login_cancelled.html rename to src/templates/allauth/socialaccount/login_cancelled.html diff --git a/templates/allauth/socialaccount/messages/account_connected.txt b/src/templates/allauth/socialaccount/messages/account_connected.txt similarity index 100% rename from templates/allauth/socialaccount/messages/account_connected.txt rename to src/templates/allauth/socialaccount/messages/account_connected.txt diff --git a/templates/allauth/socialaccount/messages/account_connected_other.txt b/src/templates/allauth/socialaccount/messages/account_connected_other.txt similarity index 100% rename from templates/allauth/socialaccount/messages/account_connected_other.txt rename to src/templates/allauth/socialaccount/messages/account_connected_other.txt diff --git a/templates/allauth/socialaccount/messages/account_connected_updated.txt b/src/templates/allauth/socialaccount/messages/account_connected_updated.txt similarity index 100% rename from templates/allauth/socialaccount/messages/account_connected_updated.txt rename to src/templates/allauth/socialaccount/messages/account_connected_updated.txt diff --git a/templates/allauth/socialaccount/messages/account_disconnected.txt b/src/templates/allauth/socialaccount/messages/account_disconnected.txt similarity index 100% rename from templates/allauth/socialaccount/messages/account_disconnected.txt rename to src/templates/allauth/socialaccount/messages/account_disconnected.txt diff --git a/templates/allauth/socialaccount/signup.html b/src/templates/allauth/socialaccount/signup.html similarity index 100% rename from templates/allauth/socialaccount/signup.html rename to src/templates/allauth/socialaccount/signup.html diff --git a/templates/allauth/socialaccount/snippets/login_extra.html b/src/templates/allauth/socialaccount/snippets/login_extra.html similarity index 100% rename from templates/allauth/socialaccount/snippets/login_extra.html rename to src/templates/allauth/socialaccount/snippets/login_extra.html diff --git a/templates/allauth/socialaccount/snippets/provider_list.html b/src/templates/allauth/socialaccount/snippets/provider_list.html similarity index 100% rename from templates/allauth/socialaccount/snippets/provider_list.html rename to src/templates/allauth/socialaccount/snippets/provider_list.html diff --git a/templates/allauth/socialaccount/snippets/slack_signin.html b/src/templates/allauth/socialaccount/snippets/slack_signin.html similarity index 100% rename from templates/allauth/socialaccount/snippets/slack_signin.html rename to src/templates/allauth/socialaccount/snippets/slack_signin.html diff --git a/templates/base.html b/src/templates/base.html similarity index 100% rename from templates/base.html rename to src/templates/base.html diff --git a/templates/faq.html b/src/templates/faq.html similarity index 100% rename from templates/faq.html rename to src/templates/faq.html diff --git a/templates/includes/footer.html b/src/templates/includes/footer.html similarity index 100% rename from templates/includes/footer.html rename to src/templates/includes/footer.html diff --git a/templates/includes/messages.html b/src/templates/includes/messages.html similarity index 100% rename from templates/includes/messages.html rename to src/templates/includes/messages.html diff --git a/templates/includes/navbar.html b/src/templates/includes/navbar.html similarity index 100% rename from templates/includes/navbar.html rename to src/templates/includes/navbar.html diff --git a/templates/judging-criteria.html b/src/templates/judging-criteria.html similarity index 100% rename from templates/judging-criteria.html rename to src/templates/judging-criteria.html diff --git a/templates/plagiarism-policy.html b/src/templates/plagiarism-policy.html similarity index 100% rename from templates/plagiarism-policy.html rename to src/templates/plagiarism-policy.html diff --git a/templates/privacy-policy.html b/src/templates/privacy-policy.html similarity index 100% rename from templates/privacy-policy.html rename to src/templates/privacy-policy.html diff --git a/templates/registration/login.html b/src/templates/registration/login.html similarity index 100% rename from templates/registration/login.html rename to src/templates/registration/login.html diff --git a/templates/upload_image.html b/src/templates/upload_image.html similarity index 100% rename from templates/upload_image.html rename to src/templates/upload_image.html