Based on php version Website under development. Can be accessed here
To have a website that caters all needs that a CSE UG has.
- 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>/editproblems/addproblems/display/<int:problem_id>problems/add/testcaseproblems/submit/<int:problem_id>submit/<int:id>/submissions/<str:username>/submissions/<str:username>/view/<int:id>/submissions/download/<int:id>/problemsloginlogoutforumforum/post/<int:post_id>/editor/
-
Using docker: check here
-
Manual :
- create a virtual environment and activate it (google it)
- Install dependencies into it
pip3 install -r requirements.txtorpython -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-syncdbread here (p.s. all migration files are being ignored, see .gitignore) ,python3 manage.py makemigrationsandpython3 manage.py migrate. This will update database with tables as we describe in models.py. Thenpython3 manage.py runserverand play around testing what all has been developed. usepython3 manage.py createsuperuserto create admin credentials and then go tolocalhost:8080/adminafterpython3 manage.py runserverto log-in as admin. Create some user accounts/ profile pages/ question tags etc and play along with them, logging in fromlocalhost:8080(you may use credentials of user you just created, but make sure you've created his/her profile as well from admin pannel).






