Giter Site home page Giter Site logo

gra-pwr.net's People

Contributors

freakone avatar hodak avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

gra-pwr.net's Issues

Enhance front-end responsiveness

Especially exam solver is crucial. It's fluid, but not really responsive:

image

On very narrow screens I guess the answers should be stacked and the "check/next" button should be on the bottom.

Fix n+1 problem when loading exam

When entering exam solver or exam editor there are multiple queries to database for answers.

These answers should be fetched with one SQL query.

Questions only with one answer should be enabled

In my opinion, questions with one answer(maybe we cannot remember other) should be enabled. Many courses have questions where people remember only correct answer, it's usefull too, but it's restricted in app

Cyclically remove UserAnswers older than 1 month

Each user's answer is saved in database, which will cause db to bloat. I don't think there's a reason to store user answers for long period of time and the easiest solution would be just to run some cron-based scheduler every day and clean old user answers.

Proposed tools:

  • whenever gem
  • sidekiq gem

It's impossible to use Facebook's credentials from README

image

Best "workaround" (altough it's not really a workaround, it should be initial solution) is to create Facebook's developer's app yourself and use your credentials.

But it's not really an easy way to initially set up the application. Maybe there should be some mocking for development, that would allow to log in without directly hitting Facebook? Thoughts anybody?

Branding

The name "infish" - :)
Something nice to put in upper-left corner

Add license

  • Research which license would be suitable.

Thoughts anyone?

Loading fonts issues

This is how browser console looks like on production

image

and the icons indeed don't work. Please remove all errors and make icons work.

Export exam to PDF

Students might want to print the exam with all the questions and answers (marked as correct & incorrect) and study with this.

I know one nice library for Ruby that allows export to PDF: prawnpdf.org

Better questions formatting

It has come to my attention, that question formatting might be useful - especially taking line breaks and spaces into consideration, when displaying questions in solver.

Question in exam editor:
image

Question in exam solver:
image

Deploy to DO

Heroku should be treated more like a staging right now. It has limit of 10k Postgres rows, which won't take us far.

Look into serving assets, I don't think it's configured in any way for production use right now.

Server setup and deployment should be done with Ansible ๐Ÿ’ƒ

Don't allow breaking exams by trolls

Currently each person that receives a link to an exam, has an access to edit it - I think it's nice because whole group of people can collaborate on an exam.

But, unfortunately, there's a risk of trolls removing questions, answers, changing answers to be invalid etc.

It's hard issue to resolve, do you have any thoughts on how it could be done?
One idea I have is versioning - each exam change would be saved as a "revision" and signed by user name. It should be possible to compare revisions and rolling back changes. What do you think?

Also, additionally, maybe users should have the ability to "ban" troll from editing the exam - for example vote from 3 different users would ban editing for another user.
What if voters were trolls and they banned everybody?
Hard things ;)

Maybe the user out-voted by 3 different people would lose access to exam, but would get this exam copied into his account?

Do code review

This code was written very quickly with little tests, it should be reviewed. @wojtekmaciej would you be up for the task? :)

Pressing space on exam solver scrolls the page

Space is a keyboard shortcut that can be used to check answer correctness and go to next question. When page is long and screen low it also scrolls down the page. It's undesirable; most likely there should be event.preventDefault() called.

Save not synced answers in local storage

Exam solver works offline: when you load exam and lose internet connection, you can still solve the exam and once you regain internet connection, your answers will be synced.

Problem is that answers are saved in memory, so after closing browser before answers are synced, they will be gone.

It would be best if answers were stored in local storage and after proper sync local storage would be emptied (sync function)

Also, in this case, it would be important to "merge" user answers from local storage and database when entering the exam solver page (the init function)

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.