openhpi / codeharbor Goto Github PK
View Code? Open in Web Editor NEWExchange of Programming Exercises acrossdiverse Code Assessment Systems through CodeHarbor
License: BSD 3-Clause "New" or "Revised" License
Exchange of Programming Exercises acrossdiverse Code Assessment Systems through CodeHarbor
License: BSD 3-Clause "New" or "Revised" License
Admin panel to see all exercises and user and edit/delete them
ACE Editor ist im Moment immer Java. Das sollte auch auf die entsprechende Sprache der Files angepasst werden.
Maybe from CodeOcean
Tests sollten direkt oder indirekt File_type, File_name und File_path haben.
Languages: EN, DE, JA, CN, FR, ES
Default: EN
On all exercises there should be a dropdown selection containing the complete list of configured account links.
When selecting one account link, the exercise's meta data (no files or anything yet) should be pushed to the corresponding push URL containing the configured account name as well.
The username handling is not quite right yet. After (soft) deleting a user, the user name is not erased and thus shown as taken if another user wants to claim it.
Add the ability to connect multiple account links to the own user account.
An account link should associate a CodeHarbour user with an external URL (e.g. CodeOcean) and a unique account identifier (e.g. the email)
Dependabot can't resolve your Ruby dependency files.
As a result, Dependabot couldn't update your dependencies.
The error Dependabot encountered was:
Bundler::VersionConflict with message: Bundler could not find compatible versions for gem "rubocop":
In snapshot (Gemfile.lock):
rubocop (= 0.69.0)
In Gemfile:
rubocop (~> 0.69.0)
rubocop-rails (>= 1.5.0, <= 2.0.0) was resolved to 2.0.0, which depends on
rubocop (>= 0.70.0)
Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.
If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.
You can mention @dependabot in the comments below to contact the Dependabot team.
The ProFormA format reader/writer needs to be adjusted to be compatible with the newest ProFormA file format.
The search should also return results with matching labels.
Issue describes OAuth2 (Grant Type: Authorization Code) and is based on https://www.digitalocean.com/community/tutorials/an-introduction-to-oauth-2
Flow:
Possible Gems to use:
Tasks:
ProFormA specification (also here)
Note: This does not include test files (as there is no such concept in CodeHarbor right now)
As a user, I might want to use my email address in any capitalization and it should not make any difference. It should not be possible to use the same address in different capitalizations to register.
CodeHarbor:
CodeOcean:
When I searched for exercises and I delete one of them, I expect to get back the same list of exercises that match my search term as before deleting the exercise (except for the deleted ones).
Currently, I get back the full list.
e.g. exercise, labels, users, ratings, tests, files, ...
This can be removed when #3 is done.
This includes
E.g.
<p:proglang version="1.8">java</p:proglang>
Wenn eine Exercise public ist, sollte ein Teacher diese duplizieren und danach bearbeiten können.
Create a view that lists all exercises.
Implement a search function. You should have several options to sort the results.
As a user without admin rights, I should not be able to browse a list of all users registered on the platform. However, everyone logged in is able to do so at the moment.
Just enable localization and re-use the existing english text.
Add links for exercise and user profile in the navbar
Limit the amount of characters shown in the list.
Add "more..." button to show full text
To be defined
This is the first step on the way to fit the ProFormA specification (also here)
Goal:
Sieht komisch aus, wenn eine Exercise keinen Titel hat und macht auch keinen Sinn.
According to the comment, the better_errors gem should be moved to the development group of gems:
!!!Important!!! move this to the development group before codeharbor goes really productive!!!Important!!!
Since ProFormA-XML does not have an appropriate representation for main files, we will use class="template" which is described as an entry point for the student here (typically this will be just one) in conjunction with the optional attribute comment set to "main".
This is in preparation for #4
Tasks:
Icons disappear under images at certain window sizes
get a generic design on every view
As a user, I am unable to reset my password. Regardless of the address entered, I receive a 'Token not present' error message and no mail is sent.
When downloading an exercise as ZIP archive, a white page is displayed being served by an HTTP 500 response. I was not able to find any exercise (such as ID 13 or 15) that allowed me to download an archive successfully.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.