Success!

Note

Error

Session expiration Your session is going to expireClick here to extend

Budget (€) :

1,500 - 3,000

Posted on

12/28/19 8:50 PM

Freelancer location requirement:

Europe

This project has expired

Why don't you register anyway? We are sure that you will find many similar projects out of the thousands waiting for you!

Post similar project now

Description

Hi there :-)


I'm looking for someone to implement a prototype for a math-game. 



*What is the game about?*


The math-game is about solving exercises like


- Simplify: 2x^2*x+3x^3-y^2-2y^2

- Use the binomial formulas to expand the term: (2x+y)^2

- Solve: 2x+4 = 10


and so on.


*What is the prototype (your job) about?*


The prototype should be a proof of concept for:

- generating exercises

- presenting exercises to the user nicely

- making user type in a solutions via a virtual keyboard (like a calculator) or the real keyboard

- verifying user's input and give feedback (true / false). *Very important*: It must not depend on the order of any term-elements, whether or not the solution is correct (so xy must be the same as yx).


The prototype is *not* about:

- authentication

- managing users

- Layout / Style (except user-input and presentation of the exercise)

- exercise-details (like difficulty)


The prototype should be a simple roundtrip:


- Client asks backend for exercise

- backend generates random exercise (e.g. "expand (2x+y)^2")

- backend calculates solution ( 4x^2+4xy+y^2) and makes solution persistent for checking user-input

- backend renders exercise to a representation that can be handled by client (here it seems to be the string "4x^2+4xy+y^2")

- Client presents exercise

- User types solution via virtual or real keyboard

- Client sends solution (I guess it will be a string in latex-notation) to backend

- Backend checks solution (Accepted solution for the given example is 4x^2+4xy+y^2 with all permutations), gives feedback and sends another exercise, so user is able to continue the game.


*Technology-stack*


Server-Side:

- Ruby / ruby on rails (version 5 or 6) with mysql / mariadb. No jruby.

- Maybe a wrapper for a computer algebra system. (I don't know if there is a ruby-gem out there, which handles the calculation and checks the user's input (solutions of the exercises). Maybe it's easier to build a wrapper for a computer-algebra-system like maxima, axiom or any other (open source!). Verifying solutions in a clean and generic way is one of the core issues of this job!)


Client-Side:

- Javascript

- mathquill (http://mathquill.com/) for presentation of exercises and user input (or any similar library)

- Ajax (no websockets)

- no js-frameworks like angular or ember, no react, maybe vue.js

  

*Collaboration*


It's your job to develop this prototype. We will use gitlab for collaboration. I expect you to commit often and to accept code-reviews. And of course I expect you to deliver clean and maintainable code. Some tests (rspec) should be a matter of course.


We will talk in German or English via Email or Gitlab-Comments.


If this gets into a promising collaboration, we could build the whole game together later on.


If you are interested: Please tell me about your ruby-on-rails skills and describe a rough (technical) idea of how you would verify user's input (check the solutions).


*Deadline*


There's no fix deadline, it's not urgent. But of course you should give a valid estimation on when you can do it.