From 0a8036c46c7b9c996c1e5efff495a071aef87311 Mon Sep 17 00:00:00 2001 From: sankha555 Date: Thu, 18 Mar 2021 16:12:05 +0530 Subject: [PATCH] deployment --- Procfile | 1 + blind_coding/__init__.py | 0 blind_coding/settings.py | 144 +++++ blind_coding/urls.py | 26 + blind_coding/wsgi.py | 16 + db.sqlite3 | Bin 0 -> 96256 bytes main_app/__init__.py | 0 main_app/__pycache__/urls.cpython-36.pyc | Bin 0 -> 632 bytes main_app/__pycache__/views.cpython-36.pyc | Bin 0 -> 4097 bytes main_app/admin.py | 8 + main_app/apps.py | 7 + main_app/migrations/0001_initial.py | 45 ++ .../migrations/0002_auto_20200104_1324.py | 43 ++ .../migrations/0003_auto_20200104_1332.py | 18 + .../migrations/0004_userdata_chancesused.py | 18 + main_app/migrations/__init__.py | 0 main_app/models.py | 45 ++ main_app/settings.py | 4 + main_app/signals.py | 15 + main_app/templates/index.html | 61 ++ main_app/templates/loggedIn.html | 168 +++++ main_app/templates/selectQuestion.html | 19 + main_app/tests.py | 3 + main_app/urls.py | 17 + main_app/views.py | 168 +++++ manage.py | 15 + requirements.txt | 21 + static/assets/apogeeLogo.png | Bin 0 -> 172036 bytes static/assets/club-logo.svg | 1 + static/assets/gradient-1.svg | 1 + static/assets/ninja-coder.png | Bin 0 -> 13175 bytes static/css/style-1.css | 603 ++++++++++++++++++ static/css/style.css | 217 +++++++ static/js/app.js | 431 +++++++++++++ static/js/script.js | 25 + static/main/app.js | 121 ++++ static/main/css/style-1.css | 76 +++ static/main/css/style.css | 111 ++++ static/main/index.html | 40 ++ static/main/js/script.js | 3 + static/main/loggedIn.html | 44 ++ static/main/selectQuestion.html | 19 + 42 files changed, 2554 insertions(+) create mode 100644 Procfile create mode 100644 blind_coding/__init__.py create mode 100644 blind_coding/settings.py create mode 100644 blind_coding/urls.py create mode 100644 blind_coding/wsgi.py create mode 100644 db.sqlite3 create mode 100644 main_app/__init__.py create mode 100644 main_app/__pycache__/urls.cpython-36.pyc create mode 100644 main_app/__pycache__/views.cpython-36.pyc create mode 100644 main_app/admin.py create mode 100644 main_app/apps.py create mode 100644 main_app/migrations/0001_initial.py create mode 100644 main_app/migrations/0002_auto_20200104_1324.py create mode 100644 main_app/migrations/0003_auto_20200104_1332.py create mode 100644 main_app/migrations/0004_userdata_chancesused.py create mode 100644 main_app/migrations/__init__.py create mode 100644 main_app/models.py create mode 100644 main_app/settings.py create mode 100644 main_app/signals.py create mode 100644 main_app/templates/index.html create mode 100644 main_app/templates/loggedIn.html create mode 100644 main_app/templates/selectQuestion.html create mode 100644 main_app/tests.py create mode 100644 main_app/urls.py create mode 100644 main_app/views.py create mode 100644 manage.py create mode 100644 requirements.txt create mode 100644 static/assets/apogeeLogo.png create mode 100644 static/assets/club-logo.svg create mode 100644 static/assets/gradient-1.svg create mode 100644 static/assets/ninja-coder.png create mode 100644 static/css/style-1.css create mode 100644 static/css/style.css create mode 100644 static/js/app.js create mode 100644 static/js/script.js create mode 100644 static/main/app.js create mode 100644 static/main/css/style-1.css create mode 100644 static/main/css/style.css create mode 100644 static/main/index.html create mode 100644 static/main/js/script.js create mode 100644 static/main/loggedIn.html create mode 100644 static/main/selectQuestion.html diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..c152a13 --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: gunicorn blind_coding.wsgi diff --git a/blind_coding/__init__.py b/blind_coding/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/blind_coding/settings.py b/blind_coding/settings.py new file mode 100644 index 0000000..c7b3f3a --- /dev/null +++ b/blind_coding/settings.py @@ -0,0 +1,144 @@ +""" +Django settings for blind_coding project. + +Generated by 'django-admin startproject' using Django 2.1.7. + +For more information on this file, see +https://docs.djangoproject.com/en/2.1/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/2.1/ref/settings/ +""" + +import os +import django_heroku + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'q5*3y+mhfkjao*(*m=s!7y3#7=q%k6p^%z-f(4s^n56$8*3f0u' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = ['*'] +LOGIN_REDIRECT_URL = '/main' +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.sites', + 'allauth', + 'allauth.account', + 'allauth.socialaccount', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'allauth.socialaccount.providers.google', + 'main_app.apps.MainAppConfig', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'blind_coding.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'blind_coding.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/2.1/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + + +# Password validation +# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/2.1/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + +SITE_ID = 1 +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/2.1/howto/static-files/ +BASE_DIR = os.path.dirname(os.path.dirname(__file__)) +STATIC_URL = '/static/' +REPOSITORY_ROOT = os.path.dirname(BASE_DIR) +STATICFILES_DIRS = ( + os.path.join(BASE_DIR, 'static'), + +) +AUTHENTICATION_BACKENDS = ( + 'django.contrib.auth.backends.ModelBackend', + 'allauth.account.auth_backends.AuthenticationBackend', +) +STATIC_ROOT = os.path.join(REPOSITORY_ROOT, 'static/') + +MEDIA_URL = '/media/' +MEDIA_ROOT = os.path.join(REPOSITORY_ROOT, 'media/') + +clientId = "222a2ef84f6881409d32ae21369d1a32" +clientSecret = "67872757630a355db890ee74b6b20926cb9e025dbb444182df2bd2700fc64af1" + +django_heroku.settings(locals()) \ No newline at end of file diff --git a/blind_coding/urls.py b/blind_coding/urls.py new file mode 100644 index 0000000..da7c93c --- /dev/null +++ b/blind_coding/urls.py @@ -0,0 +1,26 @@ +"""blind_coding URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/2.1/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path,re_path,include +from django.conf.urls.static import static +from django.conf import settings +urlpatterns = [ + path('admin/', admin.site.urls), + path('',include('main_app.urls')), + re_path(r'^accounts/', include('allauth.urls')), + +]+static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) +urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/blind_coding/wsgi.py b/blind_coding/wsgi.py new file mode 100644 index 0000000..024b967 --- /dev/null +++ b/blind_coding/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for blind_coding project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/2.1/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'blind_coding.settings') + +application = get_wsgi_application() diff --git a/db.sqlite3 b/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..5dd8eb60be593f96621ca80d386ee475915f6ac6 GIT binary patch literal 96256 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 L&eEig|G$3$pDD1f literal 0 HcmV?d00001 diff --git a/main_app/__pycache__/views.cpython-36.pyc b/main_app/__pycache__/views.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c6d899ff9861c6ec08794e9e1955b308ede04730 GIT binary patch literal 4097 zcmb7HPjehc6`!7&ot>Tiqm{IhEX!78$AqY;Xk(j7C}Rk*LxEG2Fiwoa6l57~x1|}) z&a8WSZA;9;LAi>`6^buF6(52toH_M@3l~h~6XZbgdp#>f3Z{UWn(o)#uitz9`u&@m z?RN0yJ6S#^WnVd7s3V8FDAXP z#~VEO#0r;qlef?>^EU6GUlAQX$GgXj&+~;(tRog);ETM6l~umPm(gG3EBpfbHNMI( zqQAub53J3#7dV-rKDR?Z!P;D}4(~_fG?-zOYKosLVD}?TSU#aoQ=)nwG zx6aPKVAV$dVId@sRHXeMO+=yMJkzZYY##^PDAH9pXFE*?jd zR1v{~)MGK(Mf<*+&N}br*sm3 z>Y{B-YiNV1hqgJb$JW#@-O}goZL74=*U;C{d+0s%b@X-g{%uRO3`Hwx^TshtI+zVG z>++`IM^u7UI30M;LB4M3lVrG!*7jj-q8`8TjnIQFZcj$AbLUBxYu}hAIfV0MI}aO0 zG#Y<+7YLz8;Jr+nsZ{*X_(pvKPa4ELY!L9lFqcBxd-3MHb`v?l83maB0l8{pOj=++9i& zRB;WB#TJ;4x5K>I>zXmm`D__qikp}P-De{?YO{&HK?G(t>TWGNedRkxPNTJrfP|GWKBI4aHpbqgyeux zqx6hbP^xHFFzB{Gv98)lhqq_6yt018DjK{~di$RI4A>pWHixgfZ_Ce~U;Wa|KOn=I zeNX=Uh@|s~BH6W?Gbe;4@_C%E!54_`r%bK`^7-Oz>rLp7;%Fb!r}4vdDIWiy#K+HEEaGwn8$#R{6XAbX2sFB`6v z^wbh)tdKvwZQ0hKSGK@yan;(lKegqrq1g+B%U3Jz*xN{!jV@OzXxhe{(Qer;;g|fP z+4)!OTr)c_(fn+1uNQSjj3dK{&Nc;rhcdq8vDFm@v5UIF}nI0el0|lU>)Qh8m~Q0r*e^-2Lru==sw-p}QBy z@u9bur_rsAaDiBktMX@1;U9J$$sDv%m4M&Ymi#KI)4myOUNf4NmoSzT7v(xN6wu`c zHCND7VSGSw{Q4RA#u@mge1#BE+8LpdC&qa}SpcHo5>p|@Cf3W>2(3eDp`te^^7PF3 z#+Sx7X)NESO%5`RZdNDwUi?&K+D&8Pk>qhEsc6$}WS&7T2SX_$1-@B6cou2znTU7y zlx~qQgPCHC26S8HDoRi0v|B_^h5RN+nKUF{2ejEWNhtK`K<`nd>7Ysp9h_5c5mTIb zR=2tYg)WwF$gg23^oO`_s!&aCE|7&yQZ`h)>Ll7p3l$nGIg#v5;(tDEq0*dWs2|03 ztQAkuQ0j8=t=m4{4x_JQcUgdB=CdwVklJdlnP~yWD!q2grgXP%(i>s=*b$(u;1=s) zt&11)cF(M~W^05gAA<8~GCWr`Q!PhTvk5gQpT4M`&sLU==PJ z3o^(bqd(yh>3b%vnIte*h-2;U=)4iEH!Z3&n($&gc5$|aG$G@it!Se5jERKnFIm~5vQtJXmxXK* zX>;;-0BNtvE%IFq!lkqSSX+fq6j%#Xpfkw)P)YjTF~1;^eg{lQHTG@H&7Aj)ri{+a of0KV3N13GJ+hqQxjO?OJ?BQ)O@~-L)Y~R6KTX6lJ|Gw}33j+D-L;wH) literal 0 HcmV?d00001 diff --git a/main_app/admin.py b/main_app/admin.py new file mode 100644 index 0000000..3f569ee --- /dev/null +++ b/main_app/admin.py @@ -0,0 +1,8 @@ +from __future__ import unicode_literals +from django.contrib import admin +from .models import Question,Userdata,Time_Penalty + +# Register your models here. +admin.site.register(Question) +admin.site.register(Userdata) +admin.site.register(Time_Penalty) \ No newline at end of file diff --git a/main_app/apps.py b/main_app/apps.py new file mode 100644 index 0000000..29d0abc --- /dev/null +++ b/main_app/apps.py @@ -0,0 +1,7 @@ +from django.apps import AppConfig + + +class MainAppConfig(AppConfig): + name = 'main_app' + def ready(self): + import main_app.signals diff --git a/main_app/migrations/0001_initial.py b/main_app/migrations/0001_initial.py new file mode 100644 index 0000000..47557c3 --- /dev/null +++ b/main_app/migrations/0001_initial.py @@ -0,0 +1,45 @@ +# Generated by Django 2.2.7 on 2020-01-03 18:07 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Question', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('qno', models.IntegerField(default=0)), + ('text', models.CharField(max_length=45000)), + ('testcaseno', models.IntegerField(default=0)), + ('samplein', models.CharField(default='', max_length=45000)), + ('sampleout', models.CharField(default='', max_length=45000)), + ('test_case1', models.CharField(max_length=1000)), + ('test_case2', models.CharField(max_length=1000)), + ('test_case3', models.CharField(max_length=1000)), + ('test_case1_sol', models.CharField(max_length=1000)), + ('test_case2_sol', models.CharField(max_length=1000)), + ('test_case3_sol', models.CharField(max_length=1000)), + ], + ), + migrations.CreateModel( + name='Userdata', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100)), + ('score', models.IntegerField(default=0)), + ('answerGiven', models.CharField(default='00000', max_length=10)), + ('timeElapsed', models.IntegerField(default=0)), + ('user_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/main_app/migrations/0002_auto_20200104_1324.py b/main_app/migrations/0002_auto_20200104_1324.py new file mode 100644 index 0000000..a500cd2 --- /dev/null +++ b/main_app/migrations/0002_auto_20200104_1324.py @@ -0,0 +1,43 @@ +# Generated by Django 2.2.7 on 2020-01-04 07:54 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('main_app', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='question', + name='weight', + field=models.IntegerField(default=10), + preserve_default=False, + ), + migrations.AddField( + model_name='userdata', + name='total_penalty', + field=models.IntegerField(default=0), + ), + migrations.CreateModel( + name='Time_Penalty', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('time_penalty', models.IntegerField(default=0)), + ('no_wa', models.IntegerField(default=0)), + ('player', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main_app.Userdata')), + ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='questions', to='main_app.Question')), + ], + options={ + 'unique_together': {('player', 'question')}, + }, + ), + migrations.AddField( + model_name='question', + name='time_penalty', + field=models.ManyToManyField(blank=True, null=True, through='main_app.Time_Penalty', to='main_app.Userdata'), + ), + ] diff --git a/main_app/migrations/0003_auto_20200104_1332.py b/main_app/migrations/0003_auto_20200104_1332.py new file mode 100644 index 0000000..ff0fc09 --- /dev/null +++ b/main_app/migrations/0003_auto_20200104_1332.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.7 on 2020-01-04 08:02 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main_app', '0002_auto_20200104_1324'), + ] + + operations = [ + migrations.AlterField( + model_name='question', + name='weight', + field=models.IntegerField(default=20), + ), + ] diff --git a/main_app/migrations/0004_userdata_chancesused.py b/main_app/migrations/0004_userdata_chancesused.py new file mode 100644 index 0000000..56bef1c --- /dev/null +++ b/main_app/migrations/0004_userdata_chancesused.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.7 on 2020-01-11 10:40 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main_app', '0003_auto_20200104_1332'), + ] + + operations = [ + migrations.AddField( + model_name='userdata', + name='chancesUsed', + field=models.IntegerField(default=0), + ), + ] diff --git a/main_app/migrations/__init__.py b/main_app/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/main_app/models.py b/main_app/models.py new file mode 100644 index 0000000..0eb95af --- /dev/null +++ b/main_app/models.py @@ -0,0 +1,45 @@ +from django.db import models +from django.contrib.auth.models import User +# Create your models here. + +class Userdata(models.Model): + user_id=models.ForeignKey(User,on_delete=models.CASCADE) + name=models.CharField(max_length=100) + score = models.IntegerField(default = 0) + chancesUsed = models.IntegerField(default = 0) + answerGiven = models.CharField(max_length = 10, default="00000") + timeElapsed = models.IntegerField(default = 0) + total_penalty=models.IntegerField(default = 0) + + def __str__(self): + return str(self.user_id.username) + +class Question(models.Model): + qno=models.IntegerField(default=0) + weight = models.IntegerField(default=20) + text = models.CharField(max_length=45000) + time_penalty = models.ManyToManyField(Userdata, through="Time_Penalty",blank=True,null=True) + testcaseno=models.IntegerField(default=0) + samplein = models.CharField(max_length=45000,default='') + sampleout = models.CharField(max_length=45000,default='') + test_case1=models.CharField(max_length=1000) + test_case2=models.CharField(max_length=1000) + test_case3=models.CharField(max_length=1000) + test_case1_sol=models.CharField(max_length=1000) + test_case2_sol=models.CharField(max_length=1000) + test_case3_sol=models.CharField(max_length=1000) + + def __str__(self): + return str(self.pk) + +class Time_Penalty(models.Model): + player = models.ForeignKey(Userdata, on_delete=models.CASCADE) + question = models.ForeignKey(Question, on_delete=models.CASCADE,related_name='questions') + time_penalty = models.IntegerField(default=0) + no_wa = models.IntegerField(default=0) + + class Meta: + unique_together = ("player", "question") + + def __str__(self): + return "{} : {}".format(self.player.name, self.question.qno) diff --git a/main_app/settings.py b/main_app/settings.py new file mode 100644 index 0000000..9191a50 --- /dev/null +++ b/main_app/settings.py @@ -0,0 +1,4 @@ +# Application definition +INSTALLED_APPS = [ + 'main_app' +] \ No newline at end of file diff --git a/main_app/signals.py b/main_app/signals.py new file mode 100644 index 0000000..d91caad --- /dev/null +++ b/main_app/signals.py @@ -0,0 +1,15 @@ +from django.contrib.auth.models import User +from django.db.models.signals import post_save +from django.dispatch import receiver + +from .models import Userdata + +@receiver(post_save, sender=User) +def create_user_profile(sender, instance, created, **kwargs): + if created: + userdata=Userdata(user_id=instance,name=instance.username,score=0) + userdata.save() + else: + userdata=Userdata.objects.get(user_id=instance) + userdata.save() + \ No newline at end of file diff --git a/main_app/templates/index.html b/main_app/templates/index.html new file mode 100644 index 0000000..df1272e --- /dev/null +++ b/main_app/templates/index.html @@ -0,0 +1,61 @@ + + + + + + + Blind Coding: A Coding Club event for APOGEE + + + + + + + +
+
+
+
+ + +
+

Instructions

+
- There are five questions of varying difficulties and points associated with them.
Score associated are 20, 30, 40, 50, 60 points respectively.
+
- For every question, the first time you submit the correct answer, you are awarded points corresponding to that question and the time penalty is + also calculated which takes into consideration the time taken until last successful solve together with the number of wrong attempts
+
- Standings will be based on the points scored and in cases of clashes, time penalties are compared and one with lesser time penalty is better ranker
+
- Every time you give a correct answer, the question is automatically changed and code editor is reset.
+
- You have only two attempts throughout the event to see the code you have written. To see the code, press Show Code button near Run button.
+
- Don't try to open up the console or changing the window/tab. You'll be logged out immediately
+
+
+ +
+
+
+

Blind Coding

+

Ever thought of writing the code without +being able to see the code on screen?
+Then what are you waiting for?

+Login and code without being able to see what you are +typing for the given problem statement in the given timeframe.

Now that's +coding with a vision, the vision of bat as they say.

+
+ +
+ +
+ +
+ + + + \ No newline at end of file diff --git a/main_app/templates/loggedIn.html b/main_app/templates/loggedIn.html new file mode 100644 index 0000000..c0dc2c5 --- /dev/null +++ b/main_app/templates/loggedIn.html @@ -0,0 +1,168 @@ + + + + + + + Blind Coding: A Coding Club event for APOGEE + + {% load static %} + + + + + + + + +
+ + + +
+
+ +
+
+
+
+
+ + +
+

Instructions

+
- There are five questions of varying difficulties and points associated with them.
Score associated are 20, 30, 40, 50, 60 points respectively.
+
- For every question, the first time you submit the correct answer, you are awarded points corresponding to that question and the time penalty is + also calculated which takes into consideration the time taken until last successful solve together with the number of wrong attempts
+
- Standings will be based on the points scored and in cases of clashes, time penalties are compared and one with lesser time penalty is better ranker
+
- Every time you give a correct answer, the question is automatically changed and code editor is reset.
+
- You have only two attempts throughout the event to see the code you have written. To see the code, press Show Code button near Run button.
+
- Don't try to open up the console or changing the window/tab. You'll be logged out immediately
+
+ +

Blind Coding

+
+
+
Question 1
+ Loading..... +
+
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+ +
+ + + +
+ +
+
+
+ star_border00 + timer00:00 +
+
+ insert_chart +
+
+ + + + + + + + + + + + + + + + + + + + + +
RankNamePoints
Loading...
1
+
+ + + + + + diff --git a/main_app/templates/selectQuestion.html b/main_app/templates/selectQuestion.html new file mode 100644 index 0000000..5d8113c --- /dev/null +++ b/main_app/templates/selectQuestion.html @@ -0,0 +1,19 @@ + + + + + + +
Header
+ +
Footer
+ + + diff --git a/main_app/tests.py b/main_app/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/main_app/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/main_app/urls.py b/main_app/urls.py new file mode 100644 index 0000000..fa2b349 --- /dev/null +++ b/main_app/urls.py @@ -0,0 +1,17 @@ +from django.contrib import admin +from django.urls import path,include,re_path +from . import views + +app_name='quiz' + +urlpatterns=[ + path('main/', views.default, name='main'), + path('', views.index, name='index'), + path('login/', views.login, name='login'), + path('logout/', views.l_out, name='logout'), + path('question/', views.question, name='question'), + path('main/runCode/', views.runCode, name='runCode'), + path('leaderboard/', views.leaderboard, name='leaderboard'), + path('getChancesUsed/', views.getChancesUsed, name='getChancesUsed'), + path('increaseClicks/', views.increaseClicks, name='increaseClicks'), +] diff --git a/main_app/views.py b/main_app/views.py new file mode 100644 index 0000000..afc4dd8 --- /dev/null +++ b/main_app/views.py @@ -0,0 +1,168 @@ +from django.shortcuts import render,redirect +from django.shortcuts import render +from django.http import JsonResponse,HttpResponseRedirect,HttpResponse +from .models import Userdata,Question,Time_Penalty +from django.contrib.auth import logout +from django.contrib.auth.decorators import login_required + +import json +import requests +import base64 +import time +import blind_coding.settings as settings + +def default(request): + return render(request,'loggedIn.html') + +def index(request): + return render(request,'index.html') + +def login(request): +# if request.POST: + return redirect('/accounts/google/login') +# return render(request,'index.html') + +@login_required(login_url='/') +def main(request): + return render(request, 'loggedIn.html',) + +def question(request): + data = json.loads( request.body.decode('utf-8') ) + num = data['queNum'] + print(num) + ques = Question.objects.get(qno=num) + question = ques.text + sampleTestCaseNum = ques.testcaseno + sampleIn = ques.samplein + sampleOut = ques.sampleout + res={} + res['question'] = question + res['qNo'] = num + res['sampTCNum'] = sampleTestCaseNum + res['sampIn'] = sampleIn + res['sampleOut'] = sampleOut + res['userScore'] = Userdata.objects.get(user_id = request.user).score + print('hi') + print(res['userScore']) + return HttpResponse(json.dumps(res)) + +def runCode(request): + postData = json.loads( request.body.decode('utf-8') ) + url = 'https://api.judge0.com/submissions?base64_encoded=false&wait=false' + que = Question.objects.get(qno=postData['qNo']) + stdin = '3'+'\n'+que.test_case1+'\n'+que.test_case2+'\n'+que.test_case3 + # postData['stdin'] = str(base64.b64encode(stdin.encode("utf-8"))) + postData['stdin'] = stdin + # postData['source_code'] = str(base64.b64encode(postData['source_code'].encode('utf-8'))) + print(postData) + + response = requests.post(url,json=postData) + resp = response.json() + # resp = json.loads(resp) + print('qNo',postData['qNo']) + print('response token: ',resp['token']) + + url2 = 'https://api.judge0.com/submissions/'+resp['token']+'?base64_encoded=false' + time.sleep(1) + resp = requests.get(url2).json() + if 'status' in resp: + if resp['status']['description'] == "Processing": + while resp['status']['description'] == "Processing": + resp = requests.get(url2).json() + print(resp) + # print('exit_code ',resp['exit_code']) + # print('exit_signal ',resp['exit_signal']) + # print( str(base64.b64decode(resp['stderr'].encode('utf-8').strip()), "utf-8") ) + # print('output response: ',resp['stdout']) + res = {} + #Get current user + currUser = Userdata.objects.get(user_id = request.user) + if 'error' in resp: + res['stdout'] = 'error' + elif resp['status']['description'] != "Accepted": + if resp['stderr'] is not None: + res['stdout'] = resp['stderr'] + elif resp['compile_output'] is not None: + res['stdout'] = resp['compile_output'] + else: + res['stdout'] = 'error' + else: + quesNo = postData['qNo'] + quesData = Question.objects.get(qno= quesNo) + answer = quesData.test_case1_sol+'\n'+quesData.test_case2_sol+'\n'+quesData.test_case3_sol+'\n' + print(answer) + currUser.timeElapsed += int(postData['timeElapsed']) + if answer == resp['stdout']: + print('hurray') + res['stdout'] = 'Correct Answer' + print(currUser.answerGiven) + lst = list(currUser.answerGiven) + print(lst) + if(lst[quesNo] == '0'): # if the question is being answered first time + print('Updating score for question no', ) + lst[quesNo] = '1' + currUser.answerGiven="".join(lst) + timepenalty , status =Time_Penalty.objects.get_or_create(player=currUser,question=que) + timepenalty.time_penalty=int(postData['timeElapsed'])+(0.2*timepenalty.no_wa*que.weight) + currUser.score+=que.weight + currUser.total_penalty+=timepenalty.time_penalty + timepenalty.save() + currUser.save() + else: + timepenalty , status = Time_Penalty.objects.get_or_create(player=currUser,question=que) + print('hiii') + print('hola: ',timepenalty) + print('timepenalty_player',timepenalty.player) + timepenalty.no_wa+=1 + res['stdout'] = 'Wrong answer..' + timepenalty.save() + currUser.save() + res['score'] = currUser.score + if currUser.answerGiven == "11111": + res['completedGame'] = 'true' + else: + res['completedGame'] = 'false' + return HttpResponse(json.dumps(res)) + +def l_out(request): + logout(request) + return render(request,'index.html') + +def leaderboard(request): + leaderboard = Userdata.objects.order_by('-score','total_penalty') + print(leaderboard) + username = [] + score = [] + for i in range(10): + try: + username.append(leaderboard[i].name) + score.append(leaderboard[i].score) + except: + pass + + curr_user = Userdata.objects.get(user_id=request.user) + curr_score = curr_user.score + rank = 1 + for player in leaderboard: + if curr_user == player: + break + if curr_score <= player.score: + rank += 1 + + resp = {'username': username, 'score': score, 'rank': rank} + return HttpResponse(json.dumps(resp), content_type='application/json') + +def getChancesUsed(request): + res={} + res['chancesUsed'] = Userdata.objects.get(user_id = request.user).chancesUsed + return HttpResponse(json.dumps(res)) + +def increaseClicks(request): + data = json.loads( request.body.decode('utf-8') ) + clicks = data['clicks'] + user = Userdata.objects.get(user_id = request.user) + user.chancesUsed = clicks + user.save() + res = {} + res['error'] = 'No Error' + return HttpResponse(json.dumps(res)) \ No newline at end of file diff --git a/manage.py b/manage.py new file mode 100644 index 0000000..cb28616 --- /dev/null +++ b/manage.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == '__main__': + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'blind_coding.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..9a5fbab --- /dev/null +++ b/requirements.txt @@ -0,0 +1,21 @@ +certifi==2020.12.5 +cffi==1.14.5 +chardet==4.0.0 +cryptography==3.4.6 +defusedxml==0.7.1 +dj-database-url==0.5.0 +Django==2.1.7 +django-allauth==0.44.0 +django-heroku==0.3.1 +gunicorn==20.0.4 +idna==2.10 +oauthlib==3.1.0 +psycopg2==2.8.6 +pycparser==2.20 +PyJWT==2.0.1 +python3-openid==3.2.0 +pytz==2021.1 +requests==2.25.1 +requests-oauthlib==1.3.0 +urllib3==1.26.4 +whitenoise==5.2.0 diff --git a/static/assets/apogeeLogo.png b/static/assets/apogeeLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..8a2f06df63d471f8a69eb32daa99e07bf6e2aff5 GIT binary patch literal 172036 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

U$3931TQi-6wfY5muw`o~GjGUwnmhHWRoK;r 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 \ No newline at end of file diff --git a/static/assets/gradient-1.svg b/static/assets/gradient-1.svg new file mode 100644 index 0000000..4b56e69 --- /dev/null +++ b/static/assets/gradient-1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/assets/ninja-coder.png b/static/assets/ninja-coder.png new file mode 100644 index 0000000000000000000000000000000000000000..fa927d92f4ec8e27e13aafee804f75da6b539726 GIT binary patch literal 13175 zcmdseV{;|W({_Bqjcwc9*xY1e8ykCL+u0Lie=$#N+s27)+uY>Nzn*XLOx3(-%vAT) zGuMlrnkZ!@85BeUL(;I8~bUFu8x{Qr0SzwFK( zs9|AXPESuMC@5-bYGPw!TUuJ&+}zaE)Xp5J0RR9B3JM+`o{f#og9{B25z)-d%=|owlp1D=RB&a&mHPY^=PzJTx>^Nl|fl zc-YX;u&Sy`R8;i#_I7b`vADQcOG~Supa2L2{`&PxQc{wNimIolr@g)XHxI_c!vh!$ z&dtq51wi@x`^(5k3lk&G&(Fuj#bIJ%E-x?RBEpoGmL?`9CQIScV!&BjTMG*dZ(34{ z(i3LM;e(V2wCTSc*-?cGVcBt@^WY<}U;}ooDTnk)yL3nz)QPODtfED+Nxs1@o0HF& zko$heRHQFeBAKxci`M*g>|k{ZNKr{g=) zD=jS19CRNO_FoLRQ*nyzUq`6?>`xD4WhVIWHZdv<8W;QeQ#yA`L(M6Fyj?d|rEBtp zxkHO0+A5XYul<7L6|Mqg5$#F5ARyR&$w`W-d#;{uoTyp^3*^cy@QI-hQ|^S2`7QJY6RBy;$rdgYAfLV{blcM z+OgjMz?$snc~ykHR1K| zHDCa5)z|%TG;)bs7rONuE&i)(0@B?svetcAxNx^UQ zD=G;fXx)Xri2=mXGzzDtG!HPEDjiJ-`s)2w;H&nUN-~&cCFkhGfid(p?T{66jpDo8 zb8Y-E4~GXZI`KHuN&WC;g~}S?PO|^A#QDPp-|D%JWxo`JOm&dMLi{i_)GhHw=6< z3ni)wz|2$-j;S^I4GYZmGt|z{kbbE61)P|EyM>a9HJwD}1Uhb?CrgB*rSA{$+Zj>U zV|P$YzdbT1e~ru4ke4xA`0324HT)f`-=S8a!A2-LiS@HEHn*kllEYPr-(Z_e#pJcN=8(7ETjQ5kT`YRMc=JW zhg`%GQtCA{)JNeZyi&GA6^R!0el<}LI#%A-m65IQZ2g#G9q!|Z5za{-PX^SU_6 zi7+KL0$Z}!*rUm9H3N#YR9kanuoV^hzDaE4+@x4B`LF9z!6016Z^3eAgi&;VV7ZRY zdo7EvdUF)j^HtM=dTSCSm(>X08!}~`XtZdbDZpwsv<7*~OdhDl_RM(cw6X(ndbN=k z=MX zw@dxyQ_4vlZc#pA<&0uW{yCBocknnZbK=V zqQ331`FfLLG!exA2?i{v>o2RsKv3OYUtxst&ur8s(Vf)xj7#+ye{#W3r401f2ZKiO z;U|EjgTVTN7)eDVfe)`PJ`=8nh8aEerD-(My$vO&3Wjge1l9yF8qKua9an0>Q)2lg zFGLW})W}EAYYBS1(nDSRxPZZ=c+}yez2cZV>d7Arix;UB$%!?6Z3Mry2xYO{+)RfG zuVm6+9kkhoIbKI45B-FY1>FsF(J)GCB%5ac993M`hebQ_2bkm2t2=E{A&fI3EkkJMY!}%NjEV!rO4%a z*-@!HmJ##I zux>%MrZK|Q(uc%KIHA-BYTJ*H90eM_2fW`NFM-Nd(mrdif1QZ&)DxjnkHWQKX(ULB zf7b5tYouE96+R%M6tAfcu419qPDLZI_<=a8?L#K;rL8$>(yneR&9r!jlW%dWgY7N7 zjm4nl%Be+Z8qbN3X!z=Z?@z-D0yJeMna0rl)@LaiTuAT&Nhk)_9u=G~gc8Zyc^w7( z-?O%68@&FGq_{nqk;L`Fl1**HrpZxJzI`mD!CdRcB)l0BSYt%;_2=`r$U99Y9Mg0EX4Vr|iWDS7z#dr$ylSeL3LZy6aQ`6>rOl9E z>Vyz|Y?HO^YH>r6qOSZL7M*oo1-5*J9RsX+3?95O*R10i7l6DpnjTG@p-*S{@#4$Cl^Q zT4ZWY=k6}-vDaIX46&XfkMXe=Y{cDW&?_(~JJ!^9@GhqQ?P?e`*b65$=1^$eo2QR%1FN6dUdT{Vvvz@ zM|nCXZT40LdBQR848@WxD_+ndPTM;Lp2GSQ3!&D|sLlnG)ObhPkD={E9CFLnG`4=~ zamaa@`V9t2#PhyEX%6tL5Ri8`=bC8T9m!~E zCPPQ9MC_Yyjm_vH$v&Wb;>Kr%dz#r-Q09#x7B|iF?8LnytlmU20Lm3a2h%n)*rAAC ztYYq~`4?9D{w1m>_fMz|AlWi?f~C7Khr#1VnF7Q?iG$d!+I)Mpa`?e$A!~lBb|AE= z-5N=vx)IJM3$-l_(*qcj^bS7H$l9>EDh8(s|L8~Yce5C=ql;_U_X|miRz|kd4I3}( zAowKzsZ$a?qkonk_A=F&Y52Qo@7qgozx?KCX?Nl3*~mf_0$Up^iYz6h>dGua2E3OL zb|)SeqO!X_i2Fo~9vJ=ZOc*0M-IKI!nJg`sup0I3wPQ87Y(HV(M#bnnv!iir< zvK;vov;1UAm)PEa4{>G3-k(2=yE8MzJ0vaepDd1KWE@okL>IyJN;LedU>{j7FFcO? z@eFgBV%=N@TR1oxJ+^%{e)rV_Dsk?;aP9vb^#e3j5F+VC>A2uTO%;AN1TTQ3%CYhD zWN%$qe|q{I864);pGY4XbzHjzaJ@EBS_ScS7*SI##y}7^`prNuw^Cw2nIdqQN3)aF z*upv~6I3DS?6kWE+M^*pP#H^o8L>D9W~T7amZRoSoY)BJ4=}saAnRL8Q@GuBQoob! z-vP-Nu@3`#14>i{q`0tN_x?Q9_P)ILQ1 z6(tr4C7FuWK35Dta*f}7OpP8gC6@Z4}e$ge>zC6z+KH0y3b>AKmD_z-vI%{LCO4MAsr}*&jaZqVSHmY=_Mx+xHFoDxSY~#U0}U)?9XpEedP{fXU&^8*g`SgrR!-Xam}ROu$N3 zn==dL8IA}bEyKu*a`fXQp^nNxycrm4c(#Hts9G~nTpd#rhW05B!FL0-dx7aVvattB zBe5&{K{{^Y;#r2ypl!aIvX0&xjiM;OCtPF1!}{!}>sKP-VP1!b2|TGBCQ%!tqE0iU za@Ktr%_=5*$z$K z!Z8?7ze2u0m$#}sfK6Kc575&;CEsb0&V?|nZbxK-k> z`LySD9Iyv_r-y^?d=n38~k!=xWx_*=c}5m2wQ=NoB~C|SiBCUtQi7YXw#I3 z#52QG!d{?aeR6iXkLW2bBimhMUx?WlCzfs_l)x)lH#bWa-zT4LxGz%r0{LU0$*#w? zZBwAixJ|Q6%JrL+A0eelIV_$wj%3$8;l+~Oir0Iv5*H*7wdJ!A`V(RvA_R1ji9aZZ zD(@DVK|INwGm?-TUWmQxuLdEK(a43qC{swNsTyj&-M`RF?8vhQk>iUwG-;bS*HRDX zMTdFX35zZ`Nq&Eb^HER4&stX{@#cEODEw^2>4vc=^;5`hmjW}YcMRYgOu^QSUSgxr z;HRny!kKLU0u&yJoe4B*ptvKd(mfwH6-rrC%1%jVj4i(pmC3v{#$eI6-TBeb>Y6Rc zdRv4+xJXr?8IY4UT^c;y!8n?5)%?lvcvjFRyS#O2(h{XTM>hsh$ zH;+FA`93le#lJCt#L)IVi~s1i8OMKr9aj9NMF3c`Yen|CGdy`kg*ybtu;mA)cC?5t z=)}?!@HSi-TRlIU%+t*8{H9NQ#=e(CJpA*6!ua?ubmW!&T7!F8}5$SuwDz zHI{<~0-oy5su4W>o7puYFHy+}sJlVyISYoT3IjT&oXW}okMxN(W!|%xxSJ#Vo-y#7a0OxxkZiktJ7#~OXTT@v zG6PWiWTCJnT+hVOQEOAxQcOY4x|)@7AYp26dCHxLaHR-etD1nFwif>tlPQE|u0!Gv zoIIWo71lq#gpCTGH|iYc=em;l(6K+UMoal?+S;PbMrIq~4R6jX))_7IC&gw-gK9Ns zmnbgpN1IaJnB$a#`HBUI-f`GbhYWQZS%wZ-rJ65S!^< zv%KzkchZ8`=5}I?x!YUbF0-B^m8-?!f=yoOI&gCbQAM%N>cXPn|c$%r2j)iyaJ|M>S=u?>CwA_IcK`Pw(?pHT>R?w0j0 z+_V)IZboR61WMxv9(0*+1pc&Z2EoWM{e4-(DiTOgLqg{Di$LU1i%0d~8#XhmqZ{tJ zG|O)sXsO>jP%2Cu6ev-aQQ8uA%IjpRXoRiPD@gu(EDNIcT^pR1_`)65)DhK0NC9iaMpvJO$c(R;$z@L&G2$?V9u!Ssp5#}vV~dL zF_-!q16Qceh${3~kUt+F+1`y&?fA*yuLqf0`WT8^)KS!SN`C}>W0e*da8 zn>v)GWOYJYUV8VnNGt1F6?hhSLD}3b2G{qCTTil^dM<7T%q^R06*nrne5qYz1zAT8 z!#r+SCt8Nff!4IPPPPhmI?4li1^+n83PF}cI2VCk6xzjmkeKrY{#X=7z>iGigVOvv zd`zU5Ji+aZz=2kDqa>sqGmwA?QDe!n^?>}Pxvje1eUq|6QcQ@-|B55*nI0uYM6sm5 zL$Xw5L^OG(q{Eh|e&B}l+*7*66&OVKRg{;Z=eghBB<&+Gn4D~f`4sFEj@GfqN^>^{ z!41DQ0c^+j?p~08N4p@)Z?twj;SADNt>fU*Oy-MUpM+Ok4Gl9)@-Jw=cx1!mSobw$ zv9J+oa7Fp^pm|HnUY$yf2%6E|$T%~8);%Zs=#@E~yHrrcdB@MoBOJepC$MoJBfZ${ z9;H;h@SeJ2<0eF=Yqe1$VbOdq8#+*1!Hho?>arL_SGmVFdii81z{+~dv`LslT2TpO z`=5{e9weeyo9IxHD|!0yd=u%@_@6(fcEYRI&|La7@o#=~RLKfSVsrLvYamXaCdNc| z?yH>erWGvbeP!*!fLP=aSH5oH8+}>y=@jX#DN2 z3@csP9L?jqQAFnM<56f{zi&2ns@Nc$rYe3baX~%wwiGb#0r9`UzDAd^lF@MZzF5!@ zQ`v9a)yS-g0$cRWPJXyk@#2TqaMlTZkRJWauZb9+hVvF=z~*{Is=#eIr}n$Nk4gRO z)vJD>NpG zaTTaK@6NJK9Cc?ZgYZtb8!e8@fz$9(FLtyI4@%V5C~XCCY+6TxgaGI4upQxJ5HRfA zuRV{RBc+%-`e$6fV8T&I1CI^O5-joB*gvg3lncRud_{ApD^Zfe>&En30Cf%^w=%y2 zQ^l1)*I}JJsRf4xwnlR&qax-<;)I*{Tn29nM-wyw!CQzqiJQ~Nk<5*0vrM9S@dULM zzxt5cirY+0GDT7==ATt%qOCn#F^-HjHUP7meCz9P%x9bpb4bU>;+-GQInr9$Ky1M! zfgUZrDvfgk%UF?x|4Vu+u@N{`Ay zqq84YcdV}VJ5$~FO)oSN1<+B2GSuzJ&%J7IovIE^j*!zX|D6|kXR5Mt1Voq6j=0a& zZ-ZFd2_C;y9!a!XU%*Vaa+FK^DkH?pCXW3)WAfb87#pqH*tVKb{{9-0)&6NukGKcn zUtxP>5v{`d*DHYWklI438KF*UiWgnIDT=#5@9zW;I=?9fAtA+G7upKj4K%y|E$#ET zq@+{!oQ-3WYqd}IbimBv;rdbQ(Tngat?8h+NdokYrwGLbS4QyAuNXrDJqEENSFq-2 z>;`MxwZGN9g3p5lW!(>LQ%bI1m-0St9U()ICJ_=cVh<>?e>*SWuNK2K#q|q1I)s}{T~2X@07dWv*``tAdC9mA z+M4f%mEBHsUG7;bH-Rgo=zV9(dD^s*sNIuu)6cXC{G{{dYBB~7_$?bK=LEee5x+|) z^rwsH`?4&u#KeErT+kXDMUkA)s zQWgp6ceQ0@@Krdi%BrX;-Wja*&tSIEKk$$BVJyFMhN(_=&kgA}kv2#h_M} z5GZ$6v_qz4VMfRoS`F+1UI&eZ_3Fs z!{`;xa@&UU3_PgC)Zx{5M7c-$Q7-d$NRkwsP`4fbo4pTI(4iAAj*d)uP)5EjmU|Kk zJ&j~5aA(BAOl-aUg&5tB6pF4=8cywMaD_{E7!ih!KnI?ta^1qh63{}R%*-7zOgb0v zd3xZGLWY45d<^b1yE47P?yX86eIb)3w>kgCT*HF1_?lbVl24(H2HQ?D5_M3cCHN*{ z(W>FPSNT_M6!GxMb8Gm?Wrek#GfD2T31TrsdzKjJ<-j)6Z47B#Ajj<>_D<_BOuinW z%?<^eqy;5)CMiJT%T=T!q>rn8Ah}mflx7BTE;(?`7^#hjv^*a#;Qk>Mq@UN_hN>W` z&1Y42v1Iy)?rWD}H59oox))9Y2Ry$X48AXj5RlL0XtP^?Q+EPA4$;fjpB@*g_FdE-P+R{}R?i(t_@xrqHT7j#nya=SSim0)L-LRva%N z1HCRWl0^~%PDX*wnu^=w5zP*2&`W7h;6!Z>3}De^@!^(MTanhB8u8uzb4{~8AY5csQ6 z+F(;AG6e_aBi?<(Q6N70yR&?@3n$rL6nB4KaQo9PuR$j+{jc!1UDLS6DeHkueC1w) zqYodKr~E)pwY(PXIj;Rz`zY=`2mytx%+6>m&S8lwcE#V<@MLD*7`Cf!F#9zMiVNqp zCEAMOAMrFR4TwPhf$T*$NS&Q;r}GTcVcCJIkP7`$H#~|?>zBRE6{yBlm37i#MriM-Rfy4*LYtL7GBf~9Ki=mws zXU2RvS5UlrMCt{HPM0|njI%<6=jC-7TDux27Mg8bjBIWs-q*X6;QkH?=}tCj1pc7W zjDsF9pL}RGP>=%Y!rZd$L>X}j*Uhk9*INj^nP90Wt_7btgP+KJZ zQDL)&4V0K?f4tAAmO^txT#c}PkN6qeR>Y54p4kA{r*n%nsCWk4@c3T=CqjLt0_t8H zE?l#;Lw*HTc&HTBt|Ku6c7|7qRc9^Xp3@?s*P3vEH*rx0ln^>?N&Mm2x7$Zg;W3HS z@V?{?gS(w2%Ng8@x5 z&pwnCak>VmR%ig{7X&sqiZR&=!2_XL%D8^FFJf^(k|5%E=C##w!_tZ--lgDA9hO$@?O+(_8kx-+DE|8}#f zRY7oYG)^vw_MwfoOT4h54KCu5fCZ{^ zlsAee1Ao(I97CrQQkfOr4}H#_UX!tSZlqD{5JP*+Z-2|k3Va~Xz|$rL+Rn2(Z<%e4 zyfrXAJ;%{vN0W7U%8W(?8Gb9lu7XqzAR8ShS8jMx6zcMltnyq{zfadj?#k7heJ(^2N`A*R z1?;K}G&(+;9L)Fjy){1>Vto&|D@Ci$`4fC*@b;-6V(+3bp!rqL+nFW8vje1cS-(bQ z27`a>I#i{6c>krA5Xo|YoALy@9=^DUvKXOb`=gymQQ4dMe*Qq{zQlh@&7B6{nxlt% z^`rPH&y=5fa2ybJ3OVct`pg$cNqI|y;Ap}gl?`#IntlAKiq20Wd$m{ozQ9m`)VZy- z2jN~V+fg;wm3moMwDk}gQGuZ)UU&3oGiAp3H%R%XFbT}{&-t!#Y3Rd4jm7)?AbO*+ z-55Pw(vIn^F2A?Y_F>jmQOYnd0P>zXBV%>uD+qrU@!Qh}Me>4?qe0V~Jlwp|u-Wl) zP=C=X7e$8kJUZ~DYIgB`ffGa@?ph_j^&}y9q=}WInz{OOCEdLEf%fsTp0c7{W+u)2l!{Zk}^kbtaWrD`l0LV?evLidXg=7W;XC}Pc6G7iWk4tX{F zXs@L29IpDL(6358_3?Tv8DcIW@u8AU=>4(lgDT;#rpCLnj!&Ru2dX|dmAI-!l1Azg zRxu6r!p)g-x{4v_6zGc^#p1kOmW|Y?4w76ZN$aMcnEzS2Z(fL_nIfX;)>aQ2^;o-2 za`wPX4{H^xHJGynII`t*ad8O_K>Uu6zha#she8z6-I*nprfi>-pdBC^HFT}zPxq;x zlJGYxGb1A-GwbjDo&AkWB5|q4ItO*n4=O0eWUGpZYT>Ro6@3+zo1Nh&t!a%AB}#5= zeI6)Kr#zozK*>1{N*r|&#AdVhbaG{{1$zOIj}Zi>ABH;Tpq4xVsg@Q0=Yjx|blUh` z7*Dqo%Rxm!8*~OI7X-3J1Rk%W>MzkiM(xS-QBb2sZK`ayEjP&u>VZNr>v*omle;H@ z&GKpbyH85^Tv}a$?dJ3t=&pf5Vss!dw!dF?9SYk_UVSQqMHLvKq{%9yPJnHulNZDG zE`{w%83Ds@6%zWQLA_N-0pTv5f*V&`HrY&}iZ5s$%~Dvz z*(K#H51e-7f?5$5Qbq}BASv>Xd$D|3)gmvMMYa>cH1$yldR5B6C=gx5PF4x4J^N@f zg#CUc*o%>sf<2*^ZGf~=hO$;lwa8i^8i?1wn+0yG#-P^7bcY4i_DEBx%A~N_epmGi ziUWazFS&%&q?Mp~_}wLT^9$wc6On+&Lo{ko15NX)2PV`%+UhZ*bZUEs`KT6Uk=k^s zp=D#CrQ0YP&`LNXwcAjjKUvxfGfgRu{&!vPw4}DxPt@BDu5l zZ_A5*wa)G9kh~|$aKFNe<{=8*8BL~etDu_}d~XsNvKo@-OsE-WB@$W~8M_au>iH|o zi?TjoeQPm_3-zV)?E|)pFfpiaHLV$|0NZCAqMHm7*ITUi3)kci>IiD`38ty^A-IHJ z*nejQ${KST>oIF8r2JJ&W}`HkPVU&G54k6Hvc}=C7=~+7(0eejOKz1{V}SvtBb+}2 z8Pxh>|LMm-d|>mUMp?+GJCj5`f9r|gWV-*MT7>^%nSi%|{+tm!z|sosFckkFJ8@Xw zpkXGg>H=7gr92M$fxsrIJ40NTa|hOp%l^U>SxBwPxS>IV(whRKyvSw@=JPuhO^d%Z zW5XK%-~Fa|1OP83d-&X!caUu1_@Fdq{I%g~qL^OEg|rPs&3pka25)lB77Ep_4}^j@ zy=bpA^?8%(c(OzWRw|DmMy;kiBs`@Q1hdyK`Es$fCHdtG@j!bMdT!COVxnBjF_WJ8 zV0bDeI+Nx(*?ZGWdW)Gw^wIK!^d2rX-K=YU#y4MgfezX6lWpAZk{4bn8jYg1GS>tx8cB4^I*MUT?&7}{ zVE7v7<5D4hky9x?(OCo50!CC;B14Kz_+7Hw)t%gvHs@3_L=;%)*E|vx#flrk!eIL+3>aX4mr^qv{hMkC z+J_UU%^KI_zH%1kFVCRTHvHq}%;Wd6<^PaYrM64xPJOYLRv^XzYEzu)JuYkJTgVT6 zrD_^ZnLr!TGT_EruUxx6X|KbN5oEDs7m}kq#x%E4RJ_ZQo5zaRq9qGuIEtjo2B77+ z77VEP>kaSzEuqoFJ}+!`Hc4VjnLupn#3z^)TF_+9|0XY|FF47^SF=Jt8a#g#lRc5{ zT@J&`px`JFP*EwyQW2xVlg>Fs#fcBDa+P+S67DyA7Vh5Z(ebHn+_c|%K|2wUZAV{~GTgEOe++w0D>XHaAz zfe-JD-FekfMliIi=idEO=l6sl@%2#!L;rUq>&n@FBMtwSy@Z95X9DbnRvGJFIys{Yi`@cSqTbp3LlQ${Wou@mU+q- ziVXdOc?f+7OLBN(v9DFW_f*Zd(dLl8gj=HRQYFE`D8#AfCepUM3=SUmtN%F#U-+#+ z(d|E0%VqF`{Egs2LlZX8|K_ocuip=7!=GaCqtOA{6We6Co)>;b-2uzGTp|!Mel>g~ z47iHzhkmvTpKLMa9OGhAw^>`KAK5!hSK%I~ zl1CBt{r<3RW#Ref#-7eZk=)>ex&`LpqDbZ&`*X0-;Cl83-%}fD{Yfk`$Z?><;g`== zfPh3;C&9RJ^kdEtg0ec7!x_^S6hlVHkQd=2`N%>N79te&#@4d|ame&j^G`rKeQcgU z>z`}AU4IgPC}B(^A;jvVwlRu)V(>t&jOIREE{j!}elptnNR2fS*n3G&-(G-x{f@3} zXH0sDw`I|k2M$u(4Hx`vuj!jCs!-h_W}(E8{W}@O10mROuL&jqU&R}AsX>gBqC#*Q zQ8W3_Fcv2VujSxnK58ke_aAALRm44*QebK$blzG&EpYy=?=1hiLqtcmmU77L<8ZOa zr=WzcVRjbT_f(&ioMvrHox^!g@Y_f-*kn&QekKL@Mjgst8JCN(QbfL${uw(`dS-V( zEn1XN#YHe5B2Q6d!nl`nyOE1w#pjS*S_-RE;(%cqeuzhBV?m&Vr^cWsimsPe7&xMb z4Un>FucKQ_@exJmFJ&2B5(q^^XBUPD)9#O58a3{{XW;vtIxJ literal 0 HcmV?d00001 diff --git a/static/css/style-1.css b/static/css/style-1.css new file mode 100644 index 0000000..55b2703 --- /dev/null +++ b/static/css/style-1.css @@ -0,0 +1,603 @@ +body, html { + margin: 0; + padding: 0; + background-color: #0c0726; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 1600 800'%3E%3Cg %3E%3Cpath fill='%23100b2d' d='M486 705.8c-109.3-21.8-223.4-32.2-335.3-19.4C99.5 692.1 49 703 0 719.8V800h843.8c-115.9-33.2-230.8-68.1-347.6-92.2C492.8 707.1 489.4 706.5 486 705.8z'/%3E%3Cpath fill='%23130e35' d='M1600 0H0v719.8c49-16.8 99.5-27.8 150.7-33.5c111.9-12.7 226-2.4 335.3 19.4c3.4 0.7 6.8 1.4 10.2 2c116.8 24 231.7 59 347.6 92.2H1600V0z'/%3E%3Cpath fill='%2317103d' d='M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z'/%3E%3Cpath fill='%231c1145' d='M0 0v429.4c55.6-18.4 113.5-27.3 171.4-27.7c102.8-0.8 203.2 22.7 299.3 54.5c3 1 5.9 2 8.9 3c183.6 62 365.7 146.1 562.4 192.1c186.7 43.7 376.3 34.4 557.9-12.6V0H0z'/%3E%3Cpath fill='%2320124d' d='M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z'/%3E%3Cpath fill='%231b1045' d='M1600 0H0v136.3c62.3-20.9 127.7-27.5 192.2-19.2c93.6 12.1 180.5 47.7 263.3 89.6c2.6 1.3 5.1 2.6 7.7 3.9c158.4 81.1 319.7 170.9 500.3 223.2c210.5 61 430.8 49 636.6-16.6V0z'/%3E%3Cpath fill='%23170f3d' d='M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z'/%3E%3Cpath fill='%23130c35' d='M1600 0H498c118.1 85.8 243.5 164.5 386.8 216.2c191.8 69.2 400 74.7 595 21.1c40.8-11.2 81.1-25.2 120.3-41.7V0z'/%3E%3Cpath fill='%2310072d' d='M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z'/%3E%3Cpath fill='%230c0226' d='M1315.3 72.4c75.3-12.6 148.9-37.1 216.8-72.4h-723C966.8 71 1144.7 101 1315.3 72.4z'/%3E%3C/g%3E%3C/svg%3E"); + background-attachment: fixed; + background-size: cover; + box-sizing: border-box; + font-family: 'Montserrat', sans-serif; + overflow: hidden; + width: 100vw; + height: 100vh; + box-sizing: border-box; +} + +::-webkit-scrollbar { + width: 0.5em; +} + +::-webkit-scrollbar-track { + background: #000205; +} + +::-webkit-scrollbar-thumb { +background-color: rgb(255,255,255,0.8); +outline: none; +} + +.backdrop { + display: none; + z-index: 1; + width: 100vw; + height: 100vh; + position: absolute; + top: 0; + left: 0; + background: rgba(0,0,0,0.8); +} + +.instructions { + color: white; + display: none; + position: absolute; + width: 90vw; + height: 90vh; + z-index: 10; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background-color: #000205; + background-image: url("../assets/gradient-1.svg"); + background-position: center; + background-size: cover; + flex-direction: column; + align-items: flex-start; + padding: 10px 30px; + border-radius: 5px; + box-shadow: 1px 1px 40px #190a24; + overflow-y: auto; + box-sizing: border-box; +} + +#close { + position: absolute; + right: 10px; + top: 10px; + width: 50px; + height: 50px; + display: flex; + align-items: center; + justify-content: center; + border: 0.7px solid white; + border-radius: 50%; + cursor: pointer; +} + +.horiz { + display: block; + width: 4px; + height: 30px; + background: white; + position: absolute; + transform: rotate(-45deg); +} + +.verti { + display: block; + width: 4px; + height: 30px; + background: white; + position: absolute; + transform: rotate(45deg); +} + +#header { + width: 100%; + margin-top: 10px; + margin-right: 10px; + background: none; + box-shadow: none; + margin-top: 0; +} + +#header ul { + list-style-type: none; + padding: 0; + margin: 0; + display: flex; + justify-content: flex-end; + margin-top: calc(3vh - 8px); +} + +.title { + color: white; + position: absolute; + left: calc(3vh + 50px); + top: 3vh; + margin: 0; + font-size: 25px; + z-index: 2; +} + +#header ul li { + font-size: 20px; + color: #f5f5f5; + padding: 10px 30px; + border-radius: 25px; + margin: 5px; + cursor: pointer; + transition: all 100ms linear; + line-height: 100%; +} + +#header ul li:hover { + background-color: rgba(57, 255, 216, 0.8); +} + +nav#header ul a { + line-height: 100%; + padding: 0; +} + +#main { + display: flex; + flex: 1; +} +#main > .left { + flex: 1; + order: 1; + flex-direction: column; + color: white; + font-size: 16px; + padding: 25px 15px; + sizing: expand; +} + +.left h4 { + margin: 0 0 10px 0; +} + +#main > .right { + flex: 0 0 50vw; + position: relative; + top: 10px; + right: 10px; + min-height: 83vh; + border-radius: 20px; +} +/* #main > nav { + background: #D7E8D4; + order: 3; +} */ +#main > .right { + background: rgba(0,0,0,0.3); + order: 2; + sizing: expand; +} + +.options { + display: flex; + margin: 15px 0 0 0; + justify-content: center; +} + +button { + outline: none; + font-size: 20px; + padding: 15px 20px; + width: 15vw; + /* min-height: 7vh; */ + display: flex; + align-items: center; + justify-content: center; + color: whitesmoke; + background-color: #0d0a26; + border: 0.5px solid whitesmoke; + border-radius: 50px; + margin: 10px 0; + cursor: pointer; + margin-right: 20px; + transition: all 100ms linear; +} + +button:hover { + background-color: rgba(57, 255, 216, 0.8); +} + +button:focus { + outline: none; + color: whitesmoke; + background-color: #0d0a26 !important; +} + +button:active { + outline: none; + background-color: black !important; + color: whitesmoke; +} + +header, footer { + background: #1c93ee; + height: 10vh; +} + +header, footer, .left,.right { + padding: 1em; +} + +.language { + height: 7vh; + margin: 0 0 5px 0; +} + +#langSelect { + width: 100%; + color: white; + height: 100%; + border-radius: 10px; + background: white; + font-family: 'Montserrat', sans-serif; +} + +#langSelect:focus { + outline: none; +} + +.select-wrapper input.select-dropdown { + color: whitesmoke !important; + padding: 0 20px !important; + box-sizing: border-box !important; +} + +.editor { + height: 36vh; +} + +.editor textarea { + padding: 20px; + width: 100%; + height: 100%; + border-radius: 20px; + resize: none; + box-sizing: border-box; + font-family: 'Montserrat', sans-serif; + color: white; + background: black; +} + +textarea:focus { + outline: none; +} + +.outputArea { + height: 25vh; + margin: 10px 0 0 0; +} + +#compilerOutput { + padding: 20px; + width: 100%; + height: 100%; + border-radius: 20px; + font-family: 'Montserrat', sans-serif; + box-sizing: border-box; + color: white; + resize: none; + background: black; +} + +.bttn,.submit, #showCode{ + width: 10vw; + background-color: rgba(57, 255, 216, 0.8); + transition: all 100ms ease-in 50ms; +} + +.bttn:nth-child(1) { + margin-right: 3.5vw; +} + +#footer p { + display: none; + color: whitesmoke; + margin: 10px auto; +} + +.club-logo { + position: absolute; + bottom: 10px; + right: 10px; + width: 40px; + height: 40px; +} + +.noselect { + -webkit-touch-callout: none; /* iOS Safari */ + -webkit-user-select: none; /* Safari */ + -khtml-user-select: none; /* Konqueror HTML */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* Internet Explorer/Edge */ + user-select: none; /* Non-prefixed version, currently + supported by Chrome and Opera */ + +} + +.leaderboard-icon { + padding: 20px; + position: absolute; + bottom: 10px; + left: 15px; + cursor: pointer; + background: black; + border: 0.5px solid whitesmoke; + border-radius: 50%; + display: flex; +} + +.leaderboard-icon .material-icons { + font-size: 24px; + /* transform: scale(1.2); */ + color: white; +} + +.leaderboard { + height: 75vh; + width: 90vh; + background: black; + border: 0.5px solid whitesmoke; + border-radius: 20px; + position: absolute; + bottom: 13vh; + left: 15px; + padding: 20px; + display: none; + overflow-y:scroll; +} + +.scoreboard { + position: absolute; + display: flex; + justify-content: center; + align-items: center; + left: 100px; + bottom: 10px; + width: auto; + height: auto; + background: black; + border: 0.5px solid whitesmoke; + border-radius: 50px; + color: white; + font-size: 20px; + padding: 10px 25px; +} + +.scoreboard > span { + margin: 7px; +} + +.scoreboard i { + transform: scale(1.2); + position: relative; + top: 4px; + padding: 0 4px; +} + +#score, #timer { + color: #bbb; +} + +table { + color: white; +} + +tr { + height: auto; +} + +tr:nth-child(1) { + border-bottom: 1px solid white; +} + +tr th { + padding: 15px 5px; +} + +tr td { + padding: 10px 5px; +} + +tr td, tr th { + text-align: center; +} + +.rank, .score { + width: 20px; +} + +/* Sidenav */ + +.hamburger { + cursor: pointer; + width: 28px; + position: absolute; + top: 3vh; + left: 3vh; + z-index: 10; +} +.hamburger .line { + margin-bottom: 8px; + display: block; + height: 4px; + width: 4px; + border-radius: 100px; + background: #fff; +} +.hamburger .line::after, +.hamburger .line::before { + content: ""; + display: block; + height: 4px; + width: 4px; + border-radius: 100px; + background: #fff; + position: absolute; + top: 0; +} +.hamburger .line::after { + right: 0; +} +.hamburger .line::before { + right: 12px; +} +.hamburger .line:nth-child(2)::after, +.hamburger .line:nth-child(2)::before { + top: 12px; +} +.hamburger .line:nth-child(3)::after, +.hamburger .line:nth-child(3)::before { + top: 24px; +} +.hamburger:hover .line { + width: 100%; +} +.hamburger:hover .line:nth-child(2) { + -webkit-transition-delay: 0.1s; + -moz-transition-delay: 0.1s; + -ms-transition-delay: 0.1s; + -o-transition-delay: 0.1s; + transition-delay: 0.1s; +} +.hamburger:hover .line:nth-child(3) { + -webkit-transition-delay: 0.2s; + -moz-transition-delay: 0.2s; + -ms-transition-delay: 0.2s; + -o-transition-delay: 0.2s; + transition-delay: 0.2s; +} +.hamburger.active .line { + width: 100%; +} +.hamburger.active .line::before, +.hamburger.active .line::after { + opacity: 0; +} +.hamburger.active .line:nth-child(1) { + -webkit-transform: translate(0, 12px) rotate(45deg); + -moz-transform: translate(0, 12px) rotate(45deg); + -o-transform: translate(0, 12px) rotate(45deg); + -ms-transform: translate(0, 12px) rotate(45deg); + transform: translate(0, 12px) rotate(45deg); +} +.hamburger.active .line:nth-child(2) { + -webkit-transform: translate(0, 0) rotate(-45deg); + -moz-transform: translate(0, 0) rotate(-45deg); + -o-transform: translate(0, 0) rotate(-45deg); + -ms-transform: translate(0, 0) rotate(-45deg); + transform: translate(0, 0) rotate(-45deg); +} +.hamburger.active .line:nth-child(3) { + opacity: 0; +} +.hamburger.active:hover .line:nth-child(2), +.hamburger.active:hover .line:nth-child(3) { + -webkit-transition-delay: 0s; + -moz-transition-delay: 0s; + -ms-transition-delay: 0s; + -o-transition-delay: 0s; + transition-delay: 0s; +} + + + +/* Sidenav body */ + +#sidenav { + position: absolute; + top: 0; + left: 0vw; + width: 25vw; + height: 100vh; + color: whitesmoke; + background: rgba(0,0,0,0.94); + transform: translateX(-100%); + display: flex; + align-items: center; + transition: 0.2s ease-in-out; + z-index: 2; +} + +.plus { + position: relative; + width: 50px; + height: 50px; + /* display: flex; + justify-content: center; + align-items: center; */ +} + +.v-line { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background: white; + width: 4px; + height: 24px; +} + +.h-line { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background: white; + width: 24px; + height: 4px; +} + +#sidenav ul { + margin-top: 40px; + list-style-type: none; + margin: 0; + padding: 0; + width: 100%; + height: 80%; +} + +#sidenav ul li { + display: flex; + align-items: center; + margin: 0; + padding: 0 15px; + height: 11vh; + width: 100%; + box-sizing: border-box; +} + +a { + font-size: 1.4rem; + margin-left: 10px; + text-decoration: none; + color: white !important; + transition: 0.2s ease-in-out; + cursor: pointer +} + +#header ul a li:hover { + background-color: rgba(255, 40, 0, 1); +} + +#codeInput{ + color: black; + caret-color: white; + transition: color 100ms ease-out; +} + +::selection{ + background: black; +} + +table th { + position:sticky; + top:0; +} \ No newline at end of file diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..8a67107 --- /dev/null +++ b/static/css/style.css @@ -0,0 +1,217 @@ +body, html { + margin: 0; + padding: 0; + background-color: #0c0726; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 1600 800'%3E%3Cg %3E%3Cpath fill='%23100b2d' d='M486 705.8c-109.3-21.8-223.4-32.2-335.3-19.4C99.5 692.1 49 703 0 719.8V800h843.8c-115.9-33.2-230.8-68.1-347.6-92.2C492.8 707.1 489.4 706.5 486 705.8z'/%3E%3Cpath fill='%23130e35' d='M1600 0H0v719.8c49-16.8 99.5-27.8 150.7-33.5c111.9-12.7 226-2.4 335.3 19.4c3.4 0.7 6.8 1.4 10.2 2c116.8 24 231.7 59 347.6 92.2H1600V0z'/%3E%3Cpath fill='%2317103d' d='M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z'/%3E%3Cpath fill='%231c1145' d='M0 0v429.4c55.6-18.4 113.5-27.3 171.4-27.7c102.8-0.8 203.2 22.7 299.3 54.5c3 1 5.9 2 8.9 3c183.6 62 365.7 146.1 562.4 192.1c186.7 43.7 376.3 34.4 557.9-12.6V0H0z'/%3E%3Cpath fill='%2320124d' d='M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z'/%3E%3Cpath fill='%231b1045' d='M1600 0H0v136.3c62.3-20.9 127.7-27.5 192.2-19.2c93.6 12.1 180.5 47.7 263.3 89.6c2.6 1.3 5.1 2.6 7.7 3.9c158.4 81.1 319.7 170.9 500.3 223.2c210.5 61 430.8 49 636.6-16.6V0z'/%3E%3Cpath fill='%23170f3d' d='M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z'/%3E%3Cpath fill='%23130c35' d='M1600 0H498c118.1 85.8 243.5 164.5 386.8 216.2c191.8 69.2 400 74.7 595 21.1c40.8-11.2 81.1-25.2 120.3-41.7V0z'/%3E%3Cpath fill='%2310072d' d='M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z'/%3E%3Cpath fill='%230c0226' d='M1315.3 72.4c75.3-12.6 148.9-37.1 216.8-72.4h-723C966.8 71 1144.7 101 1315.3 72.4z'/%3E%3C/g%3E%3C/svg%3E"); + background-attachment: fixed; + background-size: cover; + box-sizing: border-box; + font-family: "Red Hat Display", 'Montserrat', sans-serif; + overflow: hidden; +} + +#apogeeLogo { + position: absolute; + top: 1vw; + left: 2vw; + width: 160px; + height: 80px; +} + +.backdrop { + display: none; + z-index: 1; + width: 100vw; + height: 100vh; + position: absolute; + top: 0; + left: 0; + background: rgba(0,0,0,0.8); +} + +.instructions { + color: white; + display: none; + position: absolute; + width: 90vw; + height: 90vh; + z-index: 10; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background-color: #000205; + background-image: url("../assets/gradient-1.svg"); + background-position: center; + background-size: cover; + flex-direction: column; + align-items: flex-start; + justify-content: center; + padding: 30px; + border-radius: 5px; + box-shadow: 1px 1px 40px #190a24; + overflow-y: auto; +} + +#close { + position: absolute; + right: 10px; + top: 10px; + width: 50px; + height: 50px; + display: flex; + align-items: center; + justify-content: center; + border: 0.7px solid white; + border-radius: 50%; + cursor: pointer; +} + +.horiz { + display: block; + width: 4px; + height: 30px; + background: white; + position: absolute; + transform: rotate(-45deg); +} + +.verti { + display: block; + width: 4px; + height: 30px; + background: white; + position: absolute; + transform: rotate(45deg); +} + +#header { + width: 100%; + margin-top: 3vh; + margin-right: 10px; +} + +#header ul { + list-style-type: none; + padding: 0; + margin: 0; + display: flex; + justify-content: flex-end; + padding-right: 3vw; +} + +#header ul li { + font-size: 20px; + color: #f5f5f5; + padding: 10px 30px; + border-radius: 25px; + margin: 5px; + cursor: pointer; + transition: all 100ms linear; +} + +#header ul li:hover { + background-color: rgba(57, 255, 216, 0.8); +} + +#content { + min-width: 70vw; + min-height: 60vh; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + /* display: flex; + flex-flow: column; */ +} + +#content a, #header a { + text-decoration: none; +} + +.row { + display: flex; +} + +#content button { + outline: none; + font-size: 1.15rem; + padding: 0px 40px; + width: auto; + min-height: 7vh; + display: flex; + align-items: center; + justify-content: center; + color: whitesmoke; + background-color: rgba(15, 10, 38, 0.8); + border: 1px solid whitesmoke; + font-family: "Red Hat Display", 'Montserrat', sans-serif; + border-radius: 3.5vh; + margin: 10px 0; + cursor: pointer; + transition: all 100ms linear; +} + +#content button:hover { + background-color: rgba(57, 255, 216, 0.8); +} + +#content button:focus { + outline: none; +} + +#content #details { + display: flex; + flex-direction: column; + align-items: flex-start; + color: whitesmoke; + justify-content: flex-start; +} + +.title { + font-size: 45px; + font-weight: bold; + margin-bottom: 0; +} + +.descrip { + width: 90%; + line-height: 1.7; + font-size: 1.05rem; + margin-bottom: 4vh; +} + +/* br:nth-child(2) { + display: none; +} */ + +#event-logo { + position: relative; + margin-top: 70px; + margin-right: 20px; + width: 200px; + height: 200px; +} + +#footer { + width: 100%; + position: absolute; + left: 0; + bottom: 0; + display: flex; + align-items: center; + justify-content: stretch; +} + +#footer p { + display: none; + color: whitesmoke; + margin: 10px auto; +} + +.club-logo { + position: absolute; + bottom: 2vw; + right: 2vw; + width: 70px; + height: 70px; +} \ No newline at end of file diff --git a/static/js/app.js b/static/js/app.js new file mode 100644 index 0000000..016394d --- /dev/null +++ b/static/js/app.js @@ -0,0 +1,431 @@ +let ctrlDown = false; +let ctrlKey = 17, cmdKey = 91, vKey = 86, cKey = 67; +let qNo = 0; +let languageIDs = JSON.parse("[{\"id\":45,\"name\":\"Assembly (NASM 2.14.02)\"},{\"id\":46,\"name\":\"Bash (5.0.0)\"},{\"id\":47,\"name\":\"Basic (FBC 1.07.1)\"},{\"id\":48,\"name\":\"C (GCC 7.4.0)\"},{\"id\":52,\"name\":\"C++ (GCC 7.4.0)\"},{\"id\":49,\"name\":\"C (GCC 8.3.0)\"},{\"id\":53,\"name\":\"C++ (GCC 8.3.0)\"},{\"id\":50,\"name\":\"C (GCC 9.2.0)\"},{\"id\":54,\"name\":\"C++ (GCC 9.2.0)\"},{\"id\":51,\"name\":\"C# (Mono 6.6.0.161)\"},{\"id\":55,\"name\":\"Common Lisp (SBCL 2.0.0)\"},{\"id\":56,\"name\":\"D (DMD 2.089.1)\"},{\"id\":57,\"name\":\"Elixir (1.9.4)\"},{\"id\":58,\"name\":\"Erlang (OTP 22.2)\"},{\"id\":44,\"name\":\"Executable\"},{\"id\":59,\"name\":\"Fortran (GFortran 9.2.0)\"},{\"id\":60,\"name\":\"Go (1.13.5)\"},{\"id\":61,\"name\":\"Haskell (GHC 8.8.1)\"},{\"id\":62,\"name\":\"Java (OpenJDK 13.0.1)\"},{\"id\":63,\"name\":\"JavaScript (Node.js 12.14.0)\"},{\"id\":64,\"name\":\"Lua (5.3.5)\"},{\"id\":65,\"name\":\"OCaml (4.09.0)\"},{\"id\":66,\"name\":\"Octave (5.1.0)\"},{\"id\":67,\"name\":\"Pascal (FPC 3.0.4)\"},{\"id\":68,\"name\":\"PHP (7.4.1)\"},{\"id\":43,\"name\":\"Plain Text\"},{\"id\":69,\"name\":\"Prolog (GNU Prolog 1.4.5)\"},{\"id\":70,\"name\":\"Python (2.7.17)\"},{\"id\":71,\"name\":\"Python (3.8.1)\"},{\"id\":72,\"name\":\"Ruby (2.7.0)\"},{\"id\":73,\"name\":\"Rust (1.40.0)\"},{\"id\":74,\"name\":\"TypeScript (3.7.4)\"}]"); +let timerCont = document.getElementById('timer'); +let s = 0, m = 0; +let timerId; +const _totalNumQues = 5; + +$(document).ready(function() { + populateLangs(); + getQuestion(0); + disableCopyPaste(); + leaderbInit(); + increaseTime(); + hideCode(); + addResizeEvent(); + showBtnInit(); + sideNavInit(); +}); + +function showBtnInit(){ + document.getElementById('showCode').addEventListener('click', () => { + showCode() + }); +} + +function addResizeEvent(){ + window.onresize = function() { + if ((window.outerHeight - window.innerHeight) > 100) { + logout('screen-resize') + } + } +} + +function leaderbInit(){ + let i = 0; + $('.leaderboard-icon').click(function() { + $('.leaderboard').fadeToggle(650, "swing"); + if (i === 0) { + $('.li').html('cancel'); + i = 1 + getLeaderboard(); + // insert_chart + } + else { + $('.li').html('insert_chart') + i = 0; + } + }); +} +function disableCopyPaste(){ + var inp = document.getElementsByClassName('noselect')[0]; + inp.addEventListener('select', function() { + this.selectionStart = this.selectionEnd; + }, false); + document.addEventListener('contextmenu', event => event.preventDefault()); + $(document).keydown(function(e) { + // console.log('Key pressed: ', e.keyCode); + if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = true; + }).keyup(function(e) { + // console.log('Key released: ', e.keyCode); + if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = false; + }); + + $(".no-copy-paste").keydown(function(e) { + // console.log('Key pressed inside editor: ', e.keyCode); + if(ctrlDown && (e.keyCode == cKey)) + { + console.log("Document catch Ctrl+C"); + } + if(ctrlDown && (e.keyCode == vKey)){ + console.log("Document catch Ctrl+V"); + } + if (ctrlDown && (e.keyCode == vKey || e.keyCode == cKey)){ + // console.log('copy-paste'); + return false; + } + }); +} + +function populateLangs() +{ + console.log('populating languages...'); + + let selectField = document.getElementById('langSelect'); + for(element of languageIDs) + { + var opt = document.createElement("option"); + opt.value= element['id']; + opt.innerHTML = element['name']; + selectField.appendChild(opt); + } +} + +function logout(reason){ + if(reason == 'Finished'){ + Swal.fire( + 'Congratulations', + 'You have successfully attempted all the questions', + 'success' + ); + } + else if(reason == 'screen-resize'){ + Swal.fire( + 'Sorry', + "You will be logged out since you didn't follow the instructions", + 'error' + ); + } + window.location.href = "/logout"; +} + +function resetTime(){ + s = 0; + m = 0; +} + +function setOutput(outp) { + document.getElementById("compilerOutput").value = outp; +} + +function setScore(score){ + document.getElementById('score').innerHTML = score; +} + +function getOutput(){ + return document.getElementById("compilerOutput").value; +} + +function increaseQNum(){ + qNo = (getQNum() + 1) % _totalNumQues; +} + +function getQNum() { + return qNo; +} + +function getCode(){ + return document.getElementById("codeInput").value; +} + +function getLanguage(){ + return document.getElementById("langSelect").value; +} + +function disableRun(){ + document.getElementById('runBtn').disabled = true; +} + +function enableRun(){ + document.getElementById('runBtn').disabled = false; +} + +function runCode(){ + disableRun(); + pauseTime(); + console.log(`Time elapsed is: ${m} minutes and ${s} seconds`); + + let prog = getCode(); + + let lang = getLanguage(); + + let time = m * 60 + s; + + let program = { + source_code : prog, + language_id: lang, + qNo: getQNum(), + timeElapsed: time + }; + + sendRequest('POST', 'runCode/', program).then( + function(response){ + response = JSON.parse(response); + console.log('Compiler Call Response: ', response); + setOutput(response['stdout']); + setScore(response['score']); + if(getOutput() == 'Correct Answer') + { + if(response['completedGame'] == 'true'){ + logout('Finished'); + } + resetTime(); + increaseQNum(); + getQuestion(qNo); + } + increaseTime(); + enableRun(); + } + ).catch( + function(error){ + increaseTime(); + enableRun(); + console.error(error); + } + ); +} + +function getCookie(name) { + var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); + return v ? v[2] : null; +} + +function sendRequest(type, url, data){ + let request = new XMLHttpRequest(); + let csrftoken = getCookie("csrftoken"); + return new Promise(function(resolve, reject){ + request.onreadystatechange = () => { + if (request.readyState !== 4) return; + // Process the response + if (request.status >= 200 && request.status < 300) { + // If successful + resolve(request.responseText); + } else { + // If failed + reject({ + status: request.status, + statusText: request.statusText + }); + } + }; + // Setup our HTTP request + request.open(type || "GET", url, true); + // Add csrf token + request.setRequestHeader("X-CSRFToken", csrftoken); + // Send the request + request.send(JSON.stringify(data)); + }); + +} + +function getQuestion(queNum){ + + sendRequest('POST', '/question/', { queNum }).then( + function(response){ + response = JSON.parse(response); + let inpt = response['sampIn'].split(' '); + let inStr = ''; + for(let i = 0; i < inpt.length;i++) + { + inStr += inpt[i]; + inStr += '\n'; + } + let que = response['question'] + '

'+'Sample Input'+'
'+response['sampTCNum']+'
'+inStr+'

'+'Sample Output'+'
'+response['sampleOut']; + document.getElementsByClassName('left')[0].innerHTML=que; + qNo = response['qNo']; + document.getElementById('score').innerHTML = response['userScore']; + } + ).catch( + function(error){ + increaseTime(); + console.error(error); + } + ); +} + +function login() { + sendRequest('POST', 'login/', '').then( + function(resp){ + console.log(resp); + } + ).catch( + function(error){ + console.error(error); + } + ); +} + +function showInstructions() { + document.getElementsByClassName('instructions')[0].style.display = 'flex'; + document.getElementsByClassName('backdrop')[0].style.display = 'block'; +} + +function closeInstructions() { + document.getElementsByClassName('instructions')[0].style.display = 'none'; + document.getElementsByClassName('backdrop')[0].style.display = 'none'; +} + +document.addEventListener('DOMContentLoaded', function() { + var elems = document.querySelectorAll('select'); +}); + + $(document).delegate('#codeInput', 'keydown', function(e) { + var keyCode = e.keyCode || e.which; + + if (keyCode == 9) { + e.preventDefault(); + var start = this.selectionStart; + var end = this.selectionEnd; + + // set textarea value to: text before caret + tab + text after caret + $(this).val($(this).val().substring(0, start) + + "\t" + + $(this).val().substring(end)); + + // put caret at right position again + this.selectionStart = + this.selectionEnd = start + 1; + } + }); + +function sideNavInit(){ + let hamburger = document.querySelector(".hamburger"); + const title = document.querySelector('.title') + + // Side-nav event handler + hamburger.onclick = function(e) { + e.preventDefault; + if (hamburger.classList.contains("active")) { + hamburger.classList.remove("active"); + hamburger.style.transform = 'translateX(0)'; + document.getElementById('sidenav').style.transform = 'translateX(-100%)'; + title.style.left = 'calc(3vh + 50px)' + } + else { + hamburger.classList.add("active"); + hamburger.style.transform = 'translateX(21vw)'; + document.getElementById('sidenav').style.transform = 'translateX(0)'; + title.style.left = '3vh' + } + } +} + +function increaseTime() { + timerId = setInterval(function() { + if (s > 59){ + s -= 60; + m += 1; + } + + if (m < 10) { + if (s < 10) { + timerCont.innerHTML = '0' + m + ':0' + s; + } + else { + timerCont.innerHTML = '0' + m + ':' + s; + } + } + else { + if (s < 10) { + timerCont.innerHTML = m + ':0' + s; + } + else { + timerCont.innerHTML = + m + ':' + s; + } + } + + s++; + }, 1000) +} + +// Pause time function +function pauseTime() { + clearInterval(timerId); +} + +// Won't allow user to cheat by changing text-color +let codeIntervalId; +let clicks = 0; +const hideCode = () => { + codeIntervalId = setInterval(() => document.getElementById('codeInput').style.color = 'black', 200); +} + +function increaseClicks(){ + pauseTime(); + let data = { + 'clicks' : clicks+1 + }; + sendRequest('POST', '/increaseClicks/', data).then( + function(response){ + increaseTime(); + } + ).catch( + function(error){ + increaseTime(); + console.error(error); + } + ); +} + +const showCode = () => { + pauseTime(); + sendRequest('GET', '/getChancesUsed/', null).then( + function(response){ + response = JSON.parse(response); + clicks = response['chancesUsed']; + const box = document.getElementById('codeInput'); + if (box.disabled === false) { + // Functionality won't be achieved after two clicks + if (clicks >= 2) { + // box.disabled = false; + // alert('You have used up your time!'); + Swal.fire( + 'Sorry..', + 'You have used up your time!', + 'error' + ); + return; + } + else { + // Disable button and show code for 5 seconds + box.disabled = true; + clearInterval(codeIntervalId); + box.style.color = 'white'; + setTimeout(() => { + hideCode() + box.disabled = false; + }, 5000); + } + increaseClicks(); + } + else{ + // alert('You have used up your time!'); + Swal.fire( + 'Sorry..', + 'You have used up your time!', + 'error' + ); + } + } + ).catch( + function(error){ + increaseTime(); + console.error(error); + } + ); +} +$(document).ready(function(){ + $('select').formSelect(); +}); \ No newline at end of file diff --git a/static/js/script.js b/static/js/script.js new file mode 100644 index 0000000..e0375aa --- /dev/null +++ b/static/js/script.js @@ -0,0 +1,25 @@ +function getLeaderboard() { + $.ajax({ + url : "http://127.0.0.1:8000/leaderboard/", + type : "GET", + beforeSend : function() { + document.getElementById('leaderboard-loader').style.display = 'block'; + }, + success : function(jsondata) { + var objRecieved = jQuery.parseJSON(JSON.stringify(jsondata)); + let template = document.getElementById("leaderboard-row"); + document.getElementById('leaderboard-loader').style.display = 'none'; + for (var i = 0; i < objRecieved.username.length; ++i) { + let clone = template.content.cloneNode(true); + document.getElementById('leaderboard-body').appendChild(clone); + document.getElementsByClassName('rank')[i+2].innerHTML = i+1; //Get Array of Username's here + document.getElementsByClassName('name')[i+2].innerHTML = objRecieved.username[i]; //Get Array of Username's here + document.getElementsByClassName('score')[i+2].innerHTML = objRecieved.score[i]; //Get Array of Score's here + } + document.getElementById('userRank').innerHTML = 'Your Rank : ' + objRecieved.rank; + }, + error : function() { + console.log("Error"); + } + }) +} \ No newline at end of file diff --git a/static/main/app.js b/static/main/app.js new file mode 100644 index 0000000..91bd2f8 --- /dev/null +++ b/static/main/app.js @@ -0,0 +1,121 @@ +// var request = require('request'); + +const languages = ['c','java','cpp','cpp14','python2','python3']; + +const versions = ['0','1','2']; + +let code = ` +#include +int main(){ + printf("Hello World num entered is :"); + return 0; +}`; + +let langNo = 0; +let versionNo = 0; +let input = '1'; +let output = ''; + +const setCode = (prog)=>{ + code = prog; +}; + +const getCode = () => { + return code; +}; + + +const setLanguage = (langNum) => { + langNo = langNum; +}; + +const getLanguage = () => { + return langNo; +}; + + +const setVersion = (vrsn) => { + versionNo = vrsn; +}; + +const getVersion = () => { + return versions[versionNo]; +} + +const setCustomInput = (inp)=>{ + input = inp; +} + +const getCustomInput = ()=>{ + return input; +} + +const setOutput = (outp) => { + console.log('Result:',outp); + output = outp; +}; + +const getOutput = () => { + return output; +}; + +const runCode = () => { + + let prog = document.getElementById("codeInput").value; + setCode(prog); + + let lang = document.getElementById("langSelect").value; + setLanguage(lang); + + console.log('Language: ',getLanguage(),'code: ',getCode()); + + + var program = { + script : getCode(), + language: getLanguage(), + versionIndex: getVersion(), + clientId: "222a2ef84f6881409d32ae21369d1a32", + clientSecret:"67872757630a355db890ee74b6b20926cb9e025dbb444182df2bd2700fc64af1", + stdin: getCustomInput() //to give custom input + }; + + //just send this object to jdoodle url and send back the response + // for all test cases backend checks the output and returns no of test cases cleared + let resp = sendRequest('POST','https://api.jdoodle.com/execute',program); + setOutput(resp.output); + + document.getElementById("compilerOutput").value = getOutput(); +}; + + +const sendRequest = (method,url,data) => { + var ourRequest = new XMLHttpRequest(); + ourRequest.open(method,url, true); + ourRequest.setRequestHeader("Content-type", "application/json"); + ourRequest.onload = function() { + if (ourRequest.status >= 200 && ourRequest.status < 400) { + // console.log('output: '); + let recievedData = JSON.parse(ourRequest.responseText); + return recievedData; + } else { + // Nothing + } + } + ourRequest.onerror = function() { + // Nothing + } + console.log(JSON.stringify(data)); + ourRequest.send(JSON.stringify(data)); +}; + + +const getQuestion = (queNum) => { + let data = { + queNum : queNum + }; + let recievedData = sendRequest('GET','/question',JSON.stringify(data)); + //format -- Question: + // sample input: + // sample output: + // score of that question +}; \ No newline at end of file diff --git a/static/main/css/style-1.css b/static/main/css/style-1.css new file mode 100644 index 0000000..c9962e4 --- /dev/null +++ b/static/main/css/style-1.css @@ -0,0 +1,76 @@ +* { + box-sizing: border-box; +} +body { + display: flex; + min-height: 100vh; + flex-direction: column; + margin: 0; +} +#main { + display: flex; + flex: 1; +} +#main > .left { + flex: 1; + order: 1; + sizing: expand; +} +/* #main > nav, */ +#main > .right { + flex: 0 0 50vw; +} +/* #main > nav { + background: #D7E8D4; + order: 3; +} */ +#main > .right { + background: beige; + order: 2; + sizing: expand; +} +header, footer { + background: #1c93ee; + height: 10vh; +} +header, footer, .left,.right { + padding: 1em; +} + +.editor{ + width: 100%; + height: 70%; +} +.outputArea{ + width: 100%; + height: 20%; + margin-top: 10px; +} + +.editor textarea,.outputArea textarea{ + width: 100%; + height: 100%; + /* top: 0; */ + resize: none; +} + +/* .options{ + display: flex; +} */ +.run,.submit{ + width: 10vw; +} + +#header ul li { + font-size: 20px; + color: #f5f5f5; + padding: 10px 30px; + border-radius: 25px; + margin: 5px; + cursor: pointer; + transition: all 100ms linear; +} + +#header ul li:hover { + background-color: rgba(57, 255, 216, 0.8); +} \ No newline at end of file diff --git a/static/main/css/style.css b/static/main/css/style.css new file mode 100644 index 0000000..aa0d2ff --- /dev/null +++ b/static/main/css/style.css @@ -0,0 +1,111 @@ +body, html { + margin: 0; + padding: 0; + background: black; + box-sizing: border-box; + font-family: 'Open Sans', sans-serif; + overflow: hidden; +} + +#header { + width: 100%; + margin-top: 10px; + margin-right: 10px; +} + +#header ul { + list-style-type: none; + padding: 0; + margin: 0; + display: flex; + justify-content: flex-end; +} + +#header ul li { + font-size: 20px; + color: #ec6e26; + margin: 5px 20px; + cursor: pointer; +} + +#content { + min-width: 70vw; + min-height: 60vh; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + display: flex; + flex-flow: column; +} + +.row { + display: flex; +} + +#content button { + outline: none; + font-size: 20px; + padding: 0px 20px; + width: 15vw; + min-height: 7vh; + display: flex; + align-items: center; + justify-content: center; + background-color: #ec6e26; + border: 0.5px solid #ec6e26; + border-radius: 5px; + margin: 10px 0; + cursor: pointer; +} + +#content button:focus { + outline: none; +} + +#content #details { + display: flex; + flex-direction: column; + align-items: flex-start; + color: whitesmoke; + justify-content: flex-start; +} + +.title { + font-size: 45px; + font-weight: bold; +} + +.descrip { + width: 90%; +} + +#event-logo { + position: relative; + margin-top: 70px; + margin-right: 20px; + width: 250px; + height: 200px; +} + +#footer { + width: 100%; + position: absolute; + left: 0; + bottom: 0; + display: flex; + align-items: center; + justify-content: stretch; +} + +#footer p { + margin: 10px auto; +} + +.club-logo { + position: absolute; + bottom: 10px; + right: 10px; + width: 70px; + height: 70px; +} \ No newline at end of file diff --git a/static/main/index.html b/static/main/index.html new file mode 100644 index 0000000..b5638e7 --- /dev/null +++ b/static/main/index.html @@ -0,0 +1,40 @@ + + + + + + + Blind Coding: A Coding Club event for APOGEE + + + + +

+ + + \ No newline at end of file diff --git a/static/main/js/script.js b/static/main/js/script.js new file mode 100644 index 0000000..d14d3c4 --- /dev/null +++ b/static/main/js/script.js @@ -0,0 +1,3 @@ +function login() { + window.location.href = '/home/nikhil/Desktop/BlindCoding/loggedIn.html'; +} \ No newline at end of file diff --git a/static/main/loggedIn.html b/static/main/loggedIn.html new file mode 100644 index 0000000..ee48f07 --- /dev/null +++ b/static/main/loggedIn.html @@ -0,0 +1,44 @@ + + + + {% load static %} + + + +
Header
+
+
+ You have C=100,000 cakes, numbered 1 through C. Each cake has an integer height; initially, the height of each cake is 0. There are N operations. In each operation, you are given two integers L and R, and you should increase by 1 the height of each of the cakes L,L+1,…,R. One of these N operations should be removed and the remaining N−1 operations are then performed. Chef wants to remove one operation in such a way that after the remaining N−1 operations are performed, the number of cakes with height exactly K is maximum possible. Since Chef is a bit busy these days, he has asked for your help. You need to find the maximum number of cakes with height exactly K that can be achieved by removing one operation. +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+
+
Footer
+ + + diff --git a/static/main/selectQuestion.html b/static/main/selectQuestion.html new file mode 100644 index 0000000..ffcdacb --- /dev/null +++ b/static/main/selectQuestion.html @@ -0,0 +1,19 @@ + + + + + + +
Header
+
+
Footer
+ + +