Giter VIP home page Giter VIP logo

code-challenge's Introduction

code-challenge's People

Contributors

mbifulco avatar

Watchers

James Cloos avatar  avatar Justin Gagne avatar  avatar

code-challenge's Issues

Compare rendered html to see if they are identical

related to #5 - this is the check to see if rendered code is similar/same/different/wrong.

  1. Compare the output of inputCode to goalCode to see if they are identical
    • add selenium or similar
    • compare output graphically
    • compare output analytically

Minify package doesn't work in clientside node/react/CRA

Using the minify package seems to be challenging. When we added it to any of our react code as a dependency, it seemed to break runtime.

I think we may need to run minify as a background task from a separate API process that runs alongside the CRA project. Then we could call the minify process by way of fetch() and a redux-thunk action asynchronously.

Componentize the grading/grade/loading status area

The code within <CodeChallenge /> is getting long - I'd like to extract the logic that displays the status of the code challenge into its own component. That should show:

  • is this component loading?
  • has it been graded?
  • what was the grade?
  • how many attempts left?

Spit out a grade report

Once the grade is complete, we need to give the student feedback:

  • what was their grade?
  • how many attempts did they use?
  • how many attempts remaining?
  • where did they lose credit?

Rules for grading

This is to create a plan for grading code challenges:

  • what weight does code have vs rendered and functional output?
  • how to determine whether code is good or not?

Obscure the code from the goal iframe

Come up with a way to obscure / hide / change the "goal code" markup that renders in an iframe on the page so that a savvy test taker can't just steal it.

Minify code for better comparison between input and goal code

Related to #5 - This is to track work specifically related to minifying code.

Things we know:

  • Minifying may need to be done via server side node, rather than client side. To do this, we may need to set up proxy for local dev environment to send serverside node back and forth via API call.

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.