Code Monkey home page Code Monkey logo

kelvin's Introduction

Kelvin

Kelvin - The Ultimate Code Examinator

kelvin
├── api
├── evaluator (pipeline for evaluating, linting submits)
│   ├── images (docker images for custom pipeline actions)
│   └── pipelines.py (integrated pipeline actions - Docker evaluation, ...)
├── kelvin (base configuration of the application)
├── survey (module for easy surveys defined in yaml)
└── web (web interface for the kelvin)

Getting started

Using docker

$ cp .env.example .env
$ docker-compose up
$ docker-compose exec web ./manage.py migrate
$ docker-compose exec web ./manage.py createsuperuser
$ ./evaluator/images/build.py  # Rerun if pipeline images change
$ ./sync_from_prod.sh  # Optional, you can populate the db yourself

kelvin's People

Contributors

adaxiik avatar astra3 avatar creeperface01 avatar danielkrasny avatar dependabot[bot] avatar fpeterek avatar geordi avatar hanss04 avatar jakubhyza avatar janousek avatar kobzol avatar kozusznik avatar sawy7 avatar tomasmensik avatar trnila avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

kelvin's Issues

Analytics

Collect some basic analytics/statistics, for example:

  • Has a student seen/visited a specific task?

Double-clicking on code comment

To edit a comment, one has to click the text of a comment. So far, double-clicking to edit doesn't work when clicking the comment's author. This should work the same.

Support running multiple pipelines concurently

Currently, it is blocked by isolate execution.
Isolate supports multiple sandboxes, but it would be better to move the execution inside to the container with the same libc used in the compilation.

Simple stats per task

Add simple stats per task such as:

  • Number of submits
  • Numbers of students with a submit
  • Number of students with successful submits
  • Numbers of failures

notifications fixups

  • jump directly to comment
  • dont mark notification as read on click from desktop/mobile notification
  • confirm all notifications?

MOOC

Add module for teaching/learning programming with:

  • syllabus
  • quizzes

MOSS improvements

  • Enable diff between two arbitrary submits
  • Enable MOSS check between submits from an older semester
  • #179

Real-time notifications

Create simple web-page for teachers to send real-time notifications (either webpush or standard Kelvin ones) to a set of students.

Notify student of given comment

Well, it depends if we wan to send e-mail or create some notification center for student (similar to GitHub bell in top right corner).

Code comments

Be able to ad comments to student's code in a GitHub style. This provides 1:1 interaction and feedback on the code.

Submission search

Allow searching (grepping) latest student submissions of a specific task. Could be implemented by adding an "expand all" button to /assignment/show/task-id.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.