Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

v2.0.0 #32

Merged
merged 19 commits into from
Jan 18, 2020
Merged

v2.0.0 #32

merged 19 commits into from
Jan 18, 2020

Conversation

Bhupesh-V
Copy link
Contributor

The 2nd Release of the CodeClassroom API

[2.0.0] - Jan 18, 2020

Added

  • New utilities app for housing different services like code evaluation, plagiarism, e-mail etc.
  • Support for new languages PHP & Bash.
  • New model for holding Moss Plagiarism results (For Future Use).
  • Add created_date in Assignment, Question & Classroom model.
  • Fixed a bug where a new file was saved every time a solution was submitted, (OverwriteStorage() in Solution Model).
  • New moss_id field in Professor model.
  • Support for Plagiarism Services (powered by Moss).

Changed

  • Submission path, the solutions are now saved inside /media/submissions/assignments/<assg_id>/ with name like <question-id>_<student_id>.
  • profile_pic and instistution fields now accept null while signing up for a new user.
  • Default submission status is now set to Not Attempted.
  • Renamed Python to Python3.
  • marks field in Question model is now null acceptable.
  • Only 1 Submission per student, Solution now relates to Student by OneToOne relation.
  • PATCH/DELETE options for Classroom, Assignment, Questions & Submissions.

- separate logic from views, new utilities app for email, judge and plagiarism services
- fixes issue #12
- update Django and drf to secure versions
- bump coderunner to 0.5
- 2 new functions run_code() and submit_code()
- new PlagResult model #17
- new moss_key field in Professor model
- Support for New languages PHP, Bash
- cleaned judge.py (remove duplicate code)
- fixed the bug where a new file was saved for every submission
- Submission status is set to 'not-attempted' by default now
minor imporovement & bug fixes
- Issue : #25
- updated dependencies
- new endpoint: /plagiarism-detector
- reduced the nested directory structure for file submission
- new location MEDIA_ROOT/submissions/assignments/<assg_id>/
- Only One Solution object is created (OneToOne)
- moved all Auth & Permission classes to settings
- Update/Delete Views for Questions, Submissions & Assignments (New End-points)
- Now ID is also returned for listing Submissions
- new check for plagiarism field in Question Model #9
- Partially fixes #24
- fixed a bug where submitting a solution for different user resulted in Unique Validator
- cleaned & renamed Endpoints
- Plagiarism Service WIP
- A standard 404 is returned on accessing /media URLs
- In .env set DEBUG = '' is equal to DEBUG = False
- Renamed service to codesim
- PlagiarismView works now 😉
- Fix #29
- New Fields are returned in codesim utility
- fix lgtm problems
- fix PEP
Plagiarism Services & Minor Improvements
@pep8speaks
Copy link

Hello @Bhupesh-V! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

Line 35:80: E501 line too long (86 > 79 characters)
Line 36:80: E501 line too long (80 > 79 characters)
Line 37:80: E501 line too long (84 > 79 characters)
Line 44:80: E501 line too long (85 > 79 characters)
Line 49:80: E501 line too long (81 > 79 characters)
Line 52:80: E501 line too long (85 > 79 characters)
Line 53:80: E501 line too long (88 > 79 characters)

Line 26:80: E501 line too long (90 > 79 characters)
Line 28:80: E501 line too long (176 > 79 characters)
Line 35:80: E501 line too long (82 > 79 characters)
Line 49:80: E501 line too long (90 > 79 characters)
Line 57:80: E501 line too long (105 > 79 characters)
Line 69:80: E501 line too long (230 > 79 characters)
Line 70:80: E501 line too long (137 > 79 characters)
Line 74:80: E501 line too long (113 > 79 characters)
Line 81:80: E501 line too long (107 > 79 characters)
Line 82:80: E501 line too long (84 > 79 characters)
Line 90:80: E501 line too long (114 > 79 characters)
Line 91:80: E501 line too long (153 > 79 characters)
Line 92:80: E501 line too long (153 > 79 characters)
Line 96:80: E501 line too long (90 > 79 characters)
Line 97:80: E501 line too long (112 > 79 characters)
Line 98:80: E501 line too long (141 > 79 characters)
Line 99:80: E501 line too long (141 > 79 characters)
Line 107:80: E501 line too long (90 > 79 characters)

Line 42:80: E501 line too long (91 > 79 characters)
Line 52:80: E501 line too long (89 > 79 characters)
Line 128:80: E501 line too long (83 > 79 characters)
Line 142:80: E501 line too long (100 > 79 characters)
Line 143:80: E501 line too long (100 > 79 characters)
Line 144:80: E501 line too long (91 > 79 characters)
Line 145:80: E501 line too long (91 > 79 characters)

@codecov
Copy link

codecov bot commented Jan 18, 2020

Codecov Report

Merging #32 into master will decrease coverage by 2.86%.
The diff coverage is 51.91%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master     #32      +/-   ##
=========================================
- Coverage   68.66%   65.8%   -2.87%     
=========================================
  Files          16      20       +4     
  Lines         418     500      +82     
=========================================
+ Hits          287     329      +42     
- Misses        131     171      +40
Impacted Files Coverage Δ
api/urls.py 100% <ø> (ø) ⬆️
app/migrations/0001_initial.py 0% <0%> (ø) ⬆️
codeclassroom/settings.py 100% <100%> (ø) ⬆️
utilities/tests.py 100% <100%> (ø)
utilities/judge.py 16% <16%> (ø)
utilities/codesim.py 29.41% <29.41%> (ø)
app/storage.py 62.5% <62.5%> (ø)
api/views.py 58.78% <65.45%> (+7.68%) ⬆️
app/serializers.py 88.31% <66.66%> (-1.03%) ⬇️
app/models.py 85.41% <82.85%> (-1.35%) ⬇️
... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 654f116...ee28520. Read the comment docs.

@lgtm-com
Copy link

lgtm-com bot commented Jan 18, 2020

This pull request fixes 1 alert when merging ee28520 into 654f116 - view on LGTM.com

fixed alerts:

  • 1 for Unused local variable

@Bhupesh-V Bhupesh-V removed the request for review from Animesh-Ghosh January 18, 2020 13:52
@Bhupesh-V Bhupesh-V merged commit d435a0e into master Jan 18, 2020
@Bhupesh-V Bhupesh-V deleted the dev branch January 18, 2020 13:53
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants