├── .gitignore
├── Procfile
├── README.md
├── _config.yml
├── codecheck
├── __init__.py
├── middleware
│ └── AuthRequiredMiddleware.py
├── settings.py
├── urls.py
└── wsgi.py
├── compiler
├── __init__.py
├── admin.py
├── apps.py
├── compiler.py
├── forms.py
├── migrations
│ ├── 0001_initial.py
│ ├── 0002_auto_20170901_2151.py
│ ├── 0003_question_output.py
│ ├── 0004_question_testcases_output.py
│ ├── 0005_delete_question.py
│ └── __init__.py
├── models.py
├── static
│ └── compiler
│ │ ├── css
│ │ ├── bootstrap-theme.css
│ │ ├── bootstrap-theme.css.map
│ │ ├── bootstrap-theme.min.css
│ │ ├── bootstrap-theme.min.css.map
│ │ ├── bootstrap.css
│ │ ├── bootstrap.css.map
│ │ ├── bootstrap.min.css
│ │ ├── bootstrap.min.css.map
│ │ └── theme.scss
│ │ ├── fonts
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.svg
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ └── glyphicons-halflings-regular.woff2
│ │ ├── image
│ │ ├── CSI-Logo.png
│ │ ├── CSIbig.png
│ │ └── DY_PATIL_LOGO.png
│ │ ├── js
│ │ ├── bootstrap.js
│ │ ├── bootstrap.min.js
│ │ ├── email.js
│ │ ├── highcharts.js
│ │ ├── jquery.cookie.js
│ │ ├── jquery.min.js
│ │ ├── jquery.tabletojson.js
│ │ └── npm.js
│ │ └── src-min
│ │ ├── ace.js
│ │ ├── ext-beautify.js
│ │ ├── ext-chromevox.js
│ │ ├── ext-elastic_tabstops_lite.js
│ │ ├── ext-emmet.js
│ │ ├── ext-error_marker.js
│ │ ├── ext-keybinding_menu.js
│ │ ├── ext-language_tools.js
│ │ ├── ext-linking.js
│ │ ├── ext-modelist.js
│ │ ├── ext-old_ie.js
│ │ ├── ext-searchbox.js
│ │ ├── ext-settings_menu.js
│ │ ├── ext-spellcheck.js
│ │ ├── ext-split.js
│ │ ├── ext-static_highlight.js
│ │ ├── ext-statusbar.js
│ │ ├── ext-textarea.js
│ │ ├── ext-themelist.js
│ │ ├── ext-whitespace.js
│ │ ├── keybinding-emacs.js
│ │ ├── keybinding-vim.js
│ │ ├── mode-abap.js
│ │ ├── mode-abc.js
│ │ ├── mode-actionscript.js
│ │ ├── mode-ada.js
│ │ ├── mode-apache_conf.js
│ │ ├── mode-applescript.js
│ │ ├── mode-asciidoc.js
│ │ ├── mode-assembly_x86.js
│ │ ├── mode-autohotkey.js
│ │ ├── mode-batchfile.js
│ │ ├── mode-bro.js
│ │ ├── mode-c9search.js
│ │ ├── mode-c_cpp.js
│ │ ├── mode-cirru.js
│ │ ├── mode-clojure.js
│ │ ├── mode-cobol.js
│ │ ├── mode-coffee.js
│ │ ├── mode-coldfusion.js
│ │ ├── mode-csharp.js
│ │ ├── mode-css.js
│ │ ├── mode-curly.js
│ │ ├── mode-d.js
│ │ ├── mode-dart.js
│ │ ├── mode-diff.js
│ │ ├── mode-django.js
│ │ ├── mode-dockerfile.js
│ │ ├── mode-dot.js
│ │ ├── mode-drools.js
│ │ ├── mode-eiffel.js
│ │ ├── mode-ejs.js
│ │ ├── mode-elixir.js
│ │ ├── mode-elm.js
│ │ ├── mode-erlang.js
│ │ ├── mode-forth.js
│ │ ├── mode-fortran.js
│ │ ├── mode-ftl.js
│ │ ├── mode-gcode.js
│ │ ├── mode-gherkin.js
│ │ ├── mode-gitignore.js
│ │ ├── mode-glsl.js
│ │ ├── mode-gobstones.js
│ │ ├── mode-golang.js
│ │ ├── mode-graphqlschema.js
│ │ ├── mode-groovy.js
│ │ ├── mode-haml.js
│ │ ├── mode-handlebars.js
│ │ ├── mode-haskell.js
│ │ ├── mode-haskell_cabal.js
│ │ ├── mode-haxe.js
│ │ ├── mode-hjson.js
│ │ ├── mode-html.js
│ │ ├── mode-html_elixir.js
│ │ ├── mode-html_ruby.js
│ │ ├── mode-ini.js
│ │ ├── mode-io.js
│ │ ├── mode-jack.js
│ │ ├── mode-jade.js
│ │ ├── mode-java.js
│ │ ├── mode-javascript.js
│ │ ├── mode-json.js
│ │ ├── mode-jsoniq.js
│ │ ├── mode-jsp.js
│ │ ├── mode-jsx.js
│ │ ├── mode-julia.js
│ │ ├── mode-kotlin.js
│ │ ├── mode-latex.js
│ │ ├── mode-lean.js
│ │ ├── mode-less.js
│ │ ├── mode-liquid.js
│ │ ├── mode-lisp.js
│ │ ├── mode-live_script.js
│ │ ├── mode-livescript.js
│ │ ├── mode-logiql.js
│ │ ├── mode-lsl.js
│ │ ├── mode-lua.js
│ │ ├── mode-luapage.js
│ │ ├── mode-lucene.js
│ │ ├── mode-makefile.js
│ │ ├── mode-markdown.js
│ │ ├── mode-mask.js
│ │ ├── mode-matlab.js
│ │ ├── mode-maze.js
│ │ ├── mode-mel.js
│ │ ├── mode-mips_assembler.js
│ │ ├── mode-mipsassembler.js
│ │ ├── mode-mushcode.js
│ │ ├── mode-mysql.js
│ │ ├── mode-nix.js
│ │ ├── mode-nsis.js
│ │ ├── mode-objectivec.js
│ │ ├── mode-ocaml.js
│ │ ├── mode-pascal.js
│ │ ├── mode-perl.js
│ │ ├── mode-pgsql.js
│ │ ├── mode-php.js
│ │ ├── mode-pig.js
│ │ ├── mode-plain_text.js
│ │ ├── mode-powershell.js
│ │ ├── mode-praat.js
│ │ ├── mode-prolog.js
│ │ ├── mode-properties.js
│ │ ├── mode-protobuf.js
│ │ ├── mode-python.js
│ │ ├── mode-r.js
│ │ ├── mode-razor.js
│ │ ├── mode-rdoc.js
│ │ ├── mode-rhtml.js
│ │ ├── mode-rst.js
│ │ ├── mode-ruby.js
│ │ ├── mode-rust.js
│ │ ├── mode-sass.js
│ │ ├── mode-scad.js
│ │ ├── mode-scala.js
│ │ ├── mode-scheme.js
│ │ ├── mode-scss.js
│ │ ├── mode-sh.js
│ │ ├── mode-sjs.js
│ │ ├── mode-smarty.js
│ │ ├── mode-snippets.js
│ │ ├── mode-soy_template.js
│ │ ├── mode-space.js
│ │ ├── mode-sparql.js
│ │ ├── mode-sql.js
│ │ ├── mode-sqlserver.js
│ │ ├── mode-stylus.js
│ │ ├── mode-svg.js
│ │ ├── mode-swift.js
│ │ ├── mode-swig.js
│ │ ├── mode-tcl.js
│ │ ├── mode-tex.js
│ │ ├── mode-text.js
│ │ ├── mode-textile.js
│ │ ├── mode-toml.js
│ │ ├── mode-tsx.js
│ │ ├── mode-turtle.js
│ │ ├── mode-twig.js
│ │ ├── mode-typescript.js
│ │ ├── mode-vala.js
│ │ ├── mode-vbscript.js
│ │ ├── mode-velocity.js
│ │ ├── mode-verilog.js
│ │ ├── mode-vhdl.js
│ │ ├── mode-wollok.js
│ │ ├── mode-xml.js
│ │ ├── mode-xquery.js
│ │ ├── mode-yaml.js
│ │ ├── snippets
│ │ ├── abap.js
│ │ ├── abc.js
│ │ ├── actionscript.js
│ │ ├── ada.js
│ │ ├── apache_conf.js
│ │ ├── applescript.js
│ │ ├── asciidoc.js
│ │ ├── assembly_x86.js
│ │ ├── autohotkey.js
│ │ ├── batchfile.js
│ │ ├── bro.js
│ │ ├── c9search.js
│ │ ├── c_cpp.js
│ │ ├── cirru.js
│ │ ├── clojure.js
│ │ ├── cobol.js
│ │ ├── coffee.js
│ │ ├── coldfusion.js
│ │ ├── csharp.js
│ │ ├── css.js
│ │ ├── curly.js
│ │ ├── d.js
│ │ ├── dart.js
│ │ ├── diff.js
│ │ ├── django.js
│ │ ├── dockerfile.js
│ │ ├── dot.js
│ │ ├── drools.js
│ │ ├── eiffel.js
│ │ ├── ejs.js
│ │ ├── elixir.js
│ │ ├── elm.js
│ │ ├── erlang.js
│ │ ├── forth.js
│ │ ├── fortran.js
│ │ ├── ftl.js
│ │ ├── gcode.js
│ │ ├── gherkin.js
│ │ ├── gitignore.js
│ │ ├── glsl.js
│ │ ├── gobstones.js
│ │ ├── golang.js
│ │ ├── graphqlschema.js
│ │ ├── groovy.js
│ │ ├── haml.js
│ │ ├── handlebars.js
│ │ ├── haskell.js
│ │ ├── haskell_cabal.js
│ │ ├── haxe.js
│ │ ├── hjson.js
│ │ ├── html.js
│ │ ├── html_elixir.js
│ │ ├── html_ruby.js
│ │ ├── ini.js
│ │ ├── io.js
│ │ ├── jack.js
│ │ ├── jade.js
│ │ ├── java.js
│ │ ├── javascript.js
│ │ ├── json.js
│ │ ├── jsoniq.js
│ │ ├── jsp.js
│ │ ├── jsx.js
│ │ ├── julia.js
│ │ ├── kotlin.js
│ │ ├── latex.js
│ │ ├── lean.js
│ │ ├── less.js
│ │ ├── liquid.js
│ │ ├── lisp.js
│ │ ├── live_script.js
│ │ ├── livescript.js
│ │ ├── logiql.js
│ │ ├── lsl.js
│ │ ├── lua.js
│ │ ├── luapage.js
│ │ ├── lucene.js
│ │ ├── makefile.js
│ │ ├── markdown.js
│ │ ├── mask.js
│ │ ├── matlab.js
│ │ ├── maze.js
│ │ ├── mel.js
│ │ ├── mips_assembler.js
│ │ ├── mipsassembler.js
│ │ ├── mushcode.js
│ │ ├── mysql.js
│ │ ├── nix.js
│ │ ├── nsis.js
│ │ ├── objectivec.js
│ │ ├── ocaml.js
│ │ ├── pascal.js
│ │ ├── perl.js
│ │ ├── pgsql.js
│ │ ├── php.js
│ │ ├── pig.js
│ │ ├── plain_text.js
│ │ ├── powershell.js
│ │ ├── praat.js
│ │ ├── prolog.js
│ │ ├── properties.js
│ │ ├── protobuf.js
│ │ ├── python.js
│ │ ├── r.js
│ │ ├── razor.js
│ │ ├── rdoc.js
│ │ ├── rhtml.js
│ │ ├── rst.js
│ │ ├── ruby.js
│ │ ├── rust.js
│ │ ├── sass.js
│ │ ├── scad.js
│ │ ├── scala.js
│ │ ├── scheme.js
│ │ ├── scss.js
│ │ ├── sh.js
│ │ ├── sjs.js
│ │ ├── smarty.js
│ │ ├── snippets.js
│ │ ├── soy_template.js
│ │ ├── space.js
│ │ ├── sparql.js
│ │ ├── sql.js
│ │ ├── sqlserver.js
│ │ ├── stylus.js
│ │ ├── svg.js
│ │ ├── swift.js
│ │ ├── swig.js
│ │ ├── tcl.js
│ │ ├── tex.js
│ │ ├── text.js
│ │ ├── textile.js
│ │ ├── toml.js
│ │ ├── tsx.js
│ │ ├── turtle.js
│ │ ├── twig.js
│ │ ├── typescript.js
│ │ ├── vala.js
│ │ ├── vbscript.js
│ │ ├── velocity.js
│ │ ├── verilog.js
│ │ ├── vhdl.js
│ │ ├── wollok.js
│ │ ├── xml.js
│ │ ├── xquery.js
│ │ └── yaml.js
│ │ ├── theme-ambiance.js
│ │ ├── theme-chaos.js
│ │ ├── theme-chrome.js
│ │ ├── theme-clouds.js
│ │ ├── theme-clouds_midnight.js
│ │ ├── theme-cobalt.js
│ │ ├── theme-crimson_editor.js
│ │ ├── theme-dawn.js
│ │ ├── theme-dreamweaver.js
│ │ ├── theme-eclipse.js
│ │ ├── theme-github.js
│ │ ├── theme-gob.js
│ │ ├── theme-gruvbox.js
│ │ ├── theme-idle_fingers.js
│ │ ├── theme-iplastic.js
│ │ ├── theme-katzenmilch.js
│ │ ├── theme-kr_theme.js
│ │ ├── theme-kuroir.js
│ │ ├── theme-merbivore.js
│ │ ├── theme-merbivore_soft.js
│ │ ├── theme-mono_industrial.js
│ │ ├── theme-monokai.js
│ │ ├── theme-pastel_on_dark.js
│ │ ├── theme-solarized_dark.js
│ │ ├── theme-solarized_light.js
│ │ ├── theme-sqlserver.js
│ │ ├── theme-terminal.js
│ │ ├── theme-textmate.js
│ │ ├── theme-tomorrow.js
│ │ ├── theme-tomorrow_night.js
│ │ ├── theme-tomorrow_night_blue.js
│ │ ├── theme-tomorrow_night_bright.js
│ │ ├── theme-tomorrow_night_eighties.js
│ │ ├── theme-twilight.js
│ │ ├── theme-vibrant_ink.js
│ │ ├── theme-xcode.js
│ │ ├── worker-coffee.js
│ │ ├── worker-css.js
│ │ ├── worker-html.js
│ │ ├── worker-javascript.js
│ │ ├── worker-json.js
│ │ ├── worker-lua.js
│ │ ├── worker-php.js
│ │ ├── worker-xml.js
│ │ └── worker-xquery.js
├── templates
│ ├── base.html
│ ├── code_editor.html
│ ├── code_editor_content.html
│ └── result.html
├── tests.py
├── urls.py
└── views.py
├── contests
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│ ├── 0001_initial.py
│ ├── 0002_remove_contestrecord_contest.py
│ ├── 0003_contestrecord_contest.py
│ ├── 0004_leaderboard_leaderboard.py
│ ├── 0005_leaderboard_total_points.py
│ ├── 0006_auto_20171230_2334.py
│ └── __init__.py
├── models.py
├── templates
│ ├── contest_detail.html
│ ├── contest_question_detail.html
│ ├── contests.html
│ ├── contests_content.html
│ └── timer.html
├── tests.py
├── urls.py
└── views.py
├── images
├── compiler.PNG
├── contests.PNG
├── login.png
├── practice.PNG
├── questions.PNG
├── reset.png
└── user main.PNG
├── index.html
├── manage.py
├── pip-selfcheck.json
├── practice
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│ ├── 0001_initial.py
│ ├── 0002_auto_20170903_2359.py
│ ├── 0003_auto_20170904_2337.py
│ ├── 0004_auto_20170905_0144.py
│ ├── 0005_auto_20170905_0153.py
│ ├── 0006_auto_20170905_0203.py
│ ├── 0007_track_image.py
│ └── __init__.py
├── models.py
├── templates
│ ├── all_tracks.html
│ ├── leaderboard.html
│ ├── leaderboard_content.html
│ ├── question_detail.html
│ ├── question_list.html
│ └── tracks.html
├── tests.py
├── urls.py
└── views.py
├── requirements-dev.txt
├── requirements.txt
├── runtime.txt
├── todo.md
└── userprofile
├── __init__.py
├── admin.py
├── apps.py
├── migrations
├── 0001_initial.py
└── __init__.py
├── models.py
├── templates
├── account
│ ├── base.html
│ ├── email.html
│ ├── login.html
│ ├── logout.html
│ ├── password_change.html
│ ├── password_reset.html
│ └── signup.html
├── home.html
└── profile.html
├── tests.py
├── urls.py
└── views.py
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 | db.sqlite3
6 | lib/
7 | env/Scripts/
8 |
9 | *pyc
10 | # C extensions
11 | *.so
12 | .idea/workspace.xml
13 | .idea/
14 | .idea
15 | # Distribution / packaging
16 | .Python
17 | build/
18 | develop-eggs/
19 | dist/
20 | downloads/
21 | eggs/
22 | .eggs/
23 | lib64/
24 | parts/
25 | sdist/
26 | var/
27 | wheels/
28 | *.egg-info/
29 | .installed.cfg
30 | *.egg
31 |
32 | # PyInstaller
33 | # Usually these files are written by a python script from a template
34 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
35 | *.manifest
36 | *.spec
37 |
38 | # Installer logs
39 | pip-log.txt
40 | pip-delete-this-directory.txt
41 |
42 | # Unit test / coverage reports
43 | htmlcov/
44 | .tox/
45 | .coverage
46 | .coverage.*
47 | .cache
48 | nosetests.xml
49 | coverage.xml
50 | *.cover
51 | .hypothesis/
52 |
53 | # Translations
54 | *.mo
55 | *.pot
56 |
57 | # Django stuff:
58 | *.log
59 | local_settings.py
60 |
61 | # Flask stuff:
62 | instance/
63 | .webassets-cache
64 |
65 | # Scrapy stuff:
66 | .scrapy
67 |
68 | # Sphinx documentation
69 | docs/_build/
70 |
71 | # PyBuilder
72 | target/
73 |
74 | # Jupyter Notebook
75 | .ipynb_checkpoints
76 |
77 | # pyenv
78 | .python-version
79 |
80 | # celery beat schedule file
81 | celerybeat-schedule
82 |
83 | # SageMath parsed files
84 | *.sage.py
85 |
86 | # Environments
87 | .env
88 | .venv
89 | env/
90 | venv/
91 | ENV/
92 |
93 | # Spyder project settings
94 | .spyderproject
95 | .spyproject
96 |
97 | # Rope project settings
98 | .ropeproject
99 |
100 | # mkdocs documentation
101 | /site
102 |
103 | # mypy
104 | .mypy_cache/
105 | codecheck/static/
106 | codecheck_venv/bin/
107 | codecheck_venv/
108 | staticfiles/
109 |
110 | \.DS_Store
111 |
--------------------------------------------------------------------------------
/Procfile:
--------------------------------------------------------------------------------
1 | release: python manage.py migrate
2 | web: python manage.py compilescss; python manage.py collectstatic --ignore=*.scss --no-input; gunicorn codecheck.wsgi --log-file -
3 |
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## CodeCheck
2 |
3 | CodeCheck is a Django based online judge made using the Hackerrank API.
4 |
5 | https://code-check-csi.herokuapp.com/
6 |
7 |
8 | ### Features
9 |
10 | - Supports 54 languages
11 | - Contests can be hosted
12 | - Tracks can be added
13 | - Direct compiler is provided to run any code
14 | - Keeps tracks of solved questions of user
15 | - better user stats with leaderboard and charts
16 | - User friendly and fully responsive
17 |
18 |
19 | ### Packages/Platforms used
20 |
21 | - [Django](https://www.djangoproject.com/)
22 | - [django-allauth](https://github.com/pennersr/django-allauth)
23 | - [django-crispy-forms](http://django-crispy-forms.readthedocs.io/en/latest/)
24 | - [Heroku](https://www.heroku.com/)
25 | - [Ace Editor](https://ace.c9.io/)
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
{% trans "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." %}
16 | 17 | 24 | 25 |{% blocktrans %}Please contact us if you have any trouble resetting your password.{% endblocktrans %}
26 |Total points:- {{ points }}
21 | {% if solved %} 22 |Solved questions:-
23 |