Opensource Plans for October

Back to General discussions forum

Rodion (admin)     2018-10-01 14:11:34
User avatar

Hi Friends!

Here comes October and Hacktoberfest. I just thought it may be good time to start building the "better version" of the site (not replacing the old, but running it separately). Here I'm going to outline the ideas I collected so that some points could be added which I may miss completely.

The plan is to launch at least certain sturdy working prototype during a month, which can then be improved by and by. Even if we fail, it is a chance to get some T-Shirts from Hacktoberfest for pull-requests. :)

  1. Minimum Prototype is going to be able at least to register and log in users, render problems and check answers. For existing version this was done in about 2 weeks...
  2. I think we are going to write in Python. Existing version uses PHP. However as it's going to be open-source, it's worth using more popular (judging by solving stats) language. Anyway I myself am not extremely proficient in both of them.
  3. The new version should "inherit" those of existing problems, which have no bugs. So it should be able to render existing texts and run existing checkers.
  4. Then, probably, we may allow some kind of accounts import from old site to new one. So one needn't copy one's solutions manually.
  5. Besides them, probably, we may have questions of "quiz" type. This may be helpful for teaching various things - from algorithms complexity to computer history. But separate scoring should be provided also for some of them. :)
  6. Also perhaps new version may introduce division of problems into "specializations" or "fields". So there could be say "implementational" and "algorithmic" problems. Or "web-related" and "simulation". With ability to rank users separately. Perhaps, along with quizes, it will allow to create several collections of problems on other topics besides programming.
  7. Some better (and perhaps more automated) certification process needs to be invented, supposedly along with peer review.

Probably 7-th item will provide us with solution of what to do with all people who solved a lot of tasks on old site but haven't certificate yet.

Hopefully we'll be able to start in a few days (as we have just a month for this first phase). Meanwhile feel free to add suggestions and propositions.

YJN_jaoa     2018-10-02 02:02:15

This is a good suggestion, I am a c# beginner, what can I do to help

Rodion (admin)     2018-10-02 06:16:54
User avatar

Hi and thanks for suggestion of help :)

This is a kind of question I was a bit afraid of. Regretfully opensource projects are not quite easy to lead and to contribute. To start with, see, I wrote:

we are going to write in Python

and you told

I am a c# beginner

So obvious thing is that if you seriously want to participate, you need to learn some python. This is not too easy, but not too hard. As I said, it's not my favorite language either, but we should listen to majority :)

I've just created a short instruction for contributor with list of other horrible words which may be necessary.

Rodion (admin)     2018-10-03 06:06:28
User avatar

Live "preview" version is arranged at https://rodiongork.pythonanywhere.com - as of today it not very impressive yet :)

Today's update added general template and few common static files. Along with it a couple of issues were created - representing small tasks which could be done later and may be regarded as "exercise"...

moskito     2018-10-04 23:51:39

Hi, I'm interested to contribute to this project. I'm still far away from solving most solutions here, but obviously contributed to the new site hold more importance. And it just happened I'm most proficient in Python, though just have little experience in using it for web development. The others I'm also quite proficient is in Java. Perharps I could spent 1 or 2 days in a week.

Please ellaborate more regarding the architecture of the development plan.

Rodion (admin)     2018-10-05 05:08:24
User avatar

Hi! Thanks for your proposition!

ellaborate more regarding the architecture of the development plan.

yes, let me try...

Situation is like this. Big, strategical plan is vague even to me, of course.

But here are some large steps needed to be done to make minimal functionality. I created a list on the "main page" of the prototype mentioned above. By and by these steps are going to turn green from red, meaning they are implemented.

However these "steps" are usually too large to start contributing (for example because they may rely on knowledge of existing site) - and sometimes to me too (for they may need extended knowledge of Python frameworks, while I'm Java programmer mainly).

Luckily here are usually some smaller tasks which are comparatively easy. Like changing some spelling, adding some page prototype etc. They are listed in github issues - so feel free to browse them kindly and see whether there is anything which looks adequate to start with.

Changes are then proposed as github pull-requests - I look at them and merge into code or ask to improve something. It would be good to have changes small (e.g. less than 20-30 lines in 1-2 files) to simplify reviewing...

Does it make sense, what do you think?

P.S. By the way - who is Rusty-Beard? This fellow have just made first contribution!

tapinov36     2018-10-05 18:34:09

Hi, Rusty-Beard is me.

Rodion (admin)     2018-10-05 18:55:56
User avatar

Thanks! And also for providing guidance for our colleague eka_suryana. First PRs could be difficult :(

I hope I (or perhaps someone other) can later create small video, screencast...

And sorry, Friends, for sometimes I need some time to react to PR. I'll try my best :)

YJN_jaoa     2018-10-10 02:22:40

I'm sorry that I just saw your reply. Now my main job is to use c# for development. I'm also happy to learn Python;Can you write down your email so that I can communicate with you? If not, that's ok

Rodion (admin)     2018-10-10 18:48:31
User avatar

Hi! I surely can write down my email (rodiongork at gmail), but usually contributors communicate via issues and PRs at repository :)

Check these instructions, especially "Hints". I believe that issue about misspelled header is still waiting (though perhaps here only one wrong header left) - so this can be attempted as a basic exercise...

YJN_jaoa     2018-10-11 01:58:56

OK,I've been using GitHub for a while and it feels like a pretty good site:),I am trying to solove basic exercise with Python

Please login and solve 5 problems to be able to post at forum