- Clone the repo:
https://github.com/Ayush21298/SuperLeet-CTF.git
cd
to the Django project directory:cd SuperLeet-CTF/webapp-django/
- Install requirements:
pip3 install -r requirements.txt
- Run the server:
python3 manage.py runserver
There are 3 apps
in this Django project
.
questionnaire
: This app will handle the part of the contest consisting of questions (normal or MCQ-type).jeopardyctf
: This app will handle the jeopardy style CTF contests.accounts
: This app concerns with user profiles.allauth
: This is the app we're using for authentication, with social logins.
We're using django-allauth
for authentication. GitHub, Google, and Facebook has been added as 'social login' providers.
To explore it, visit the routes:
http://127.0.0.1:8000/accounts/signup/
http://127.0.0.1:8000/accounts/login/
http://127.0.0.1:8000/accounts/logout/
There is an addquestions
command, which adds question from an input JSON
file to the database. This will hopefully make adding new questions a robust process.
Below is an example run of the addquestions
command.
λ python manage.py addquestions
Successfully added questions to DB from 'questionnaire/questions/questions.json'
By default is assumes the input JSON
file is questionnaire/questions/questions.json
.
- Add
django-allauth
to project. - Add social logins to the project.
- Create core functionalities for the
questionnaire
app. - Create scoring system for
questionnaire
. - Complete
questionnaire
by makingroutes
,views
andtemplates
. - Make
models
and basic backbone for jeopardy-style challenges. - Add time based contests system.
- Make Challenge and Quizzes inaccessible out of challenge during ongoing time
- Checking mechanism for contests
- Score saving for User and Contest
- Leaderboard