Giter Site home page Giter Site logo

progressor / progressormeteor Goto Github PK

View Code? Open in Web Editor NEW
7.0 6.0 1.0 5.68 MB

Progressor - The Programming Professor

Home Page: http://progressor.io/

License: MIT License

JavaScript 68.26% HTML 21.50% CSS 10.24%
progressor programming-professor meteor nodejs mongodb

progressormeteor's People

Contributors

dingqi avatar l00mi avatar luav avatar marcodev01 avatar mkhayati avatar prosso avatar stonewar avatar strubt avatar vhf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

cenga1

progressormeteor's Issues

Export/Import functionality per Exercise

To make sure uses can save their exercises for later uses and to make it possible to exchange exercises between different instances of the platform we need an export on the level of an exercise.

Not sure if there is a unique Exercise ID? This would be use full if an exercises is imported again on the same platform, to propose it as an update and not have a duplicate.

Also the unique IDs generated by Meteor should be globally unique, so no need to try to come up with something more clever.

License

Which license would you prefer @hudrima1 @StrubT @l00mi ? Do you have academic constraints wrt to license choice?

This point is crucial and should be resolved before making the repo publicly available. The best options are:

  • MIT (more liberties)
  • Apache (more liberties)
  • GPL (more restrictions)
  • AGPL (extremely restrictive)

depending on what you want people to be able to do with Progressor.

Tabs in Python exercises

With tab characters in Python exercises, you often get the error message "Inconsistent use of tabs ...". Can we replace tabs by spaces?

Deleted exercises

It is possible to delete exercises, but they will not be removed from the "My Created Exercises" list.
I can also open this removed exercises.
When I want to edit them, a Window will be opened with the message "HTTP (Not Found)".

Translation to French

@vhf, you offered to translate the application to French.
You will have to copy the texts from lib/locales/en.js to lib/locales/fr.js and translate them.
In addition, it would be great if you could also translate server/example-data.js.

I marked all the instances with TODO: translate.

Rearange the README.md

I feel that there is a bit to much of less important info on the README.md.

This should basically give an overview of what this project does (best with a screenshot or two) and point to the other infos.

More Translations

Please can you also prepare an it, es, ru, ar, zh version for this?

OpenSourcing Communication

Short action plan regarding open-sourcing:

  • Announce on Twitter Account
  • Make an test Instance where people can play around and which can break if necessary
  • Ask for specific help on topics
  • Manage incoming questions
  • Change "comming soon" in upcoming box on front page with link to GitHub.

duplicate exercises in prod

  • delete new categories

  • add new properties to old categories

  • add new properties to old exercises

  • delete duplicate exercises

Change wording

By the way, I would suggest to rename this label to:

  • "logout other users" in case you are talking about other users
  • "logout other sessions" in case you are talking about other sesstions of this user
    "clients" is ambiguos.

C++ while loop on the blacklist

It is not possible to create exercises with the while() loop, because it is on the blacklist.
As a result of this, the code is not executable.

Spanish as 4th language?

I learn Spanish right now and got aware that Spanish is the second most spoken language on earth.
Because the multi-language feature is one of the most important advantages over competitors I want to ask how much effort it needs to add a 4th tab for the Spanish translation.

2nd bug with illegal terms

How to reproduce: Create an illegal term e.g. in the Python CreditCardIsOK exercise.
If you press [Save] the code disappears. The code got saved and you have to leave the edit mode and reenter again.

Advanced Executor handling

Handle Executor instances on a per-language basis. (Some Executors may not support all languages)
Use the same Executor instance for a specific exercise. (Executors may not be configured equivalently: language version, compiler, etc.; may be a bad idea as it is confusing to users)
https://pm.ti.bfh.ch/issues/2519

C++ exercises and the last 2 of 3 are invalid

Mentionend by luav:

They are Java code, not C++:
http://progressor.ti.bfh.ch/exercise/99yLgZmvswCof2Kpz (jojavova):
C++ does not have public visibility specifiers for non-member functions and does not have "String" type (std::string can be used).

http://progressor.ti.bfh.ch/exercise/ofDwr7Bhpn5Zx5NxJ (Creditcard is valid)
The same issue with "public". Also C++ does not have "boolean" type (bool should be used).

So the provided mockups can't be compiled. They should be either moved to Java section or fixed.

Bug with illegal terms

How to reproduce: In the Python exercise creditCardIsOK change the OK by Valid and you can not anymore compile it because of the id in Valid.
I think blacklist words should be checked case sensitive and as full words only.
On the other hand black list words should be allowed in the language comments.

Lists and Vectors in C++

In the CreditCardIsValid exercise in C++ I used the list container for the input parameter.
In the implementation I used vector. I think the mapping of the argument types to the implementation types need more explanation.

Documentation

We need a nice README.md, a CONTRIBUTING.md and a LICENSE.

Reading the documentation should make the following straightforward:

  • Installing all the dependencies locally and being able to make all tests pass
  • Deploying the project in production
  • โ€ฆ

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.