Skip to content

harshraj22/CSE_HUB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSE-HUB

Based on php version   Website under development. Can be accessed here

Idea :

To have a website that caters all needs that a CSE UG has.

What works ?
  • adding problems (login_required)
  • adding testcase (for now we can only add one test case at a time, also only author of a problem can add testcase for the problem)
  • login/logout
  • adding solution (checks if user is logged in or not)
  • evaluation of solution
  • updation of table for problems upon adding solution by the user(successful/total submissions), ie. each problem stores count of AC/ WA to itself
  • adding predefined tags to problems
  • We've got a discussion forum with comments functioning !!
  • User can now edit profile !! (but currently we don't store anything editable)
  • Now user can see/download all submited codes. How cool is that !!
  • User Registration, Now user can SignUp, so no need to go to admin section to create user.(will be implementing verification soon).
  • We've got a good editor built ! It can do a lot of things (see details here)
What lacks ?
  • Only mode of submission is through file upload
  • No work is done for creating a contest
  • frontend for various pages
  • Editing of: problem/ added testcase
Mapped urls :
  • admin/
  • ''
  • profile/<username>
  • profile/<username>/edit
  • problems/add
  • problems/display/<int:problem_id>
  • problems/add/testcase
  • problems/submit/<int:problem_id>
  • submit/<int:id>/
  • submissions/<str:username>/
  • submissions/<str:username>/view/<int:id>/
  • submissions/download/<int:id>/
  • problems
  • login
  • logout
  • forum
  • forum/post/<int:post_id>/
  • editor/
Installation :
  1. Using docker: check here

  2. Manual :

  • create a virtual environment and activate it (google it)
  • Install dependencies into it pip3 install -r requirements.txt or python -m pip install -r requirements.txt.
  • Check out to develop branch.
  • Make sure if you are using virtual environment, you have all dependencies installed (mentioned in requirements.txt). python3 manage.py migrate --run-syncdb read here (p.s. all migration files are being ignored, see .gitignore) , python3 manage.py makemigrations and python3 manage.py migrate. This will update database with tables as we describe in models.py. Then python3 manage.py runserver and play around testing what all has been developed. use python3 manage.py createsuperuser to create admin credentials and then go to localhost:8080/admin after python3 manage.py runserver to log-in as admin. Create some user accounts/ profile pages/ question tags etc and play along with them, logging in from localhost:8080 (you may use credentials of user you just created, but make sure you've created his/her profile as well from admin pannel).
Make sure you create tags before adding questions.
ER diagram Entity Relationship Diagram Execution flow
Screenshots : user profile proble statement submission code new post code editor

Further Reading :