📜 ⬆️ ⬇️

New life of old games: the most open source-ports directory (Java + PHP)

Recently it occurred to me to revive my old catalog of source-ports and graphic modifications for old games. The new version was supposed to be as open-source and open as possible so that any user could edit both the content of the site and its code, and I would have only to premoderate the changes. If you are wondering what came of it, how I created problems for myself and how I solved them later, welcome to cat.



Short TK to the site



Decision


And let's place all the data on the githaba, and from this data we will generate a static site? Solid advantages!



Moreover, I have long wanted to practice writing the generation of a static Java site. Resolved! In one repository we store data , in the second - a static site generator . Go ... But no, stop, first you need to make another decision.


What format to store information?


Store the game descriptions or modifications in the “JSON / XML / format files” - the idea seems to be wonderful, but we have “... any user ...” in the requirements, and some JSON can be scary. Well, garbage question - let's store the data in a pack of text or Markdown-files. One file - one entity, MD-files on github have a preview - lepot! And in order to simplify the situation, we will write down in detail in the documentation what is responsible for what. Some of this information is:



And what I want to say is that editing existing information in this mode is really quite convenient. But there is one nuance ...


Adding new information


Editing data turned out to be convenient, but getting a new modification — not really, because it was necessary to create from 4 to 14 files at a time. And doing this using the githab interface is pretty damn awkward. The first thought was to lay out multi-step instructions describing the addition of new information from and to.



Alas, the verdict of users of the site was unequivocal: uncomfortable! And if the users are uncomfortable on the site, which should live at the expense of user activity ... you understand, the project kirdyk.


PHP to the rescue


Well, what to do, the decision was in general something obvious: to write tins for entering new information by creating a pull request with all the necessary files, as well as for uploading screenshots to already existing descriptions. According to the old memory, because of the desire to start the project as soon as possible, as well as due to the fact that PHP has already been hosted - PHP was used for these formos.



Took off?


After adding handy forms, the process started: the first weeks after posting information about the site in my video blog and on the Old-Games.RU site, new modes and ports were added at such a rate that I just did not have time to do pre-moderation!



In addition to adding information, I was given a number of comments and suggestions on the interface and functionality, some of which I have already implemented, and some are still waiting in the wings.


One of the frequent claims was the appearance of the site - and this is understandable, because I used the default theme Bootstrap 4 with the thought "this is temporary, then I will stretch a beautiful skin." The joke about "there is nothing more permanent than temporary" I do not even want to reproduce.


Then, of course, the activity began to decline, but there are still some active users on the site and the site continues to fill with information. At the time of launch in mid-February, there were 227 mods for 86 games on the site, and at the time of this publication there were 323 mods for 130 games .


And why did you write it here?


Firstly, to tell another story with an obvious morality “the interface is convenient and pleasant for the programmer to be completely unnecessary for the user of the site”. Despite the banality of the thesis - it should be periodically reminded.


And secondly - to call fans to delve into the code or draw and make up interfaces. Maybe you will be interested in the subject of the site and you want to help a little in its development ;-)


If this is interesting to you, then the entire source code of the site lives on a githabe .


PS Video tour of the site



')

Source: https://habr.com/ru/post/451226/


All Articles