- Clone the repo:
https://github.com/Ayush21298/SuperLeet-CTF.git cdto 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-allauthto project. - Add social logins to the project.
- Create core functionalities for the
questionnaireapp. - Create scoring system for
questionnaire. - Complete
questionnaireby makingroutes,viewsandtemplates. - Make
modelsand 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