📜 ⬆️ ⬇️

Show me your code and I will tell you who you are ...

Approximately every six months, a new pastebin clone is being promoted at Habré. I decided to continue this tradition. I present to you the result of my, as well as three-month design work - the project showmecode.com .

What is the difference between my version of the existing ones?

Firstly design. Typically, authors of sites of this nature are in love with minimalism. This also applies to me, but fortunately not the designer who took the chance and decided to make such a website in the style of web 2.0. If you are not particularly interested in the service itself, you should at least go in and evaluate the work of the Ukrainian designer.
')
Secondly, the task was to facilitate the organization of dumps, search, as well as tracking changes. In principle, the history of dumps was already implemented by a friend of lizendir , in his project dumpz.org with whom we have long been familiar and even worked together on the same job. But it did not give any particular advantages, since filtering or sorting by tags was not implemented. At the request of this feature, lizendir usually dismissed the phrase "send patches" ... Then the thought arose of doing everything myself.


Third, I wanted to provide a couple of social elements in the style of ratings, statistics, profiles, and so on.

Well, in the fourth, provide an API, as well as write the most programs for creating dumps directly from your computer, without going to the site.

Initially it was expected to enlist financial support from investors for the site promotion, but the crisis confused all the cards and left the site to its mercy even at the initial stage of development. Nevertheless, I decided to finish it and try to popularize it on my own.

What was used in the development?

Since I am a python programmer, the choice fell on Django , although initially I was thinking about Werkzeug , but good people talked: R

As you develop, some things turned into separate applications, here are a couple of them
django-flashcookie - implementation of ruby ​​he reils flash messages through cookies. Despite the fact that there are quite a lot of similar applications, they all work through sessions. Problems begin when a client that does not support cookies (bots) enters your site. In this case, each page transition creates a new session. For me personally, in one of the projects, there were thus 500 thousand sessions per week.
django-annoying is a collection of all sorts of useful decorators, fields, etc. ... Even as it got on thisweekindjango radio.
django-ninjapaginator - by the way is a very cool thing, but in my opinion, apart from me, nobody really understood the usefulness of this applique.)
django-tagging2 is still an alpha version, all clean sql is simply removed, now everything works through ORM but with a large number of queries, although I tried to solve this problem with a cache. Also, the tagging manager is now added to the model that has tags.

As a registration application, django-account was used , which was developed by the same lizendir

Also, versioning functionality was implemented using mercurial , which in the end can save a lot of space, because only diffs are stored in the mercurial repository, and not all versions.

I hope to write in half a year a report on the website promotion, whether it has brought profit, changes, impressions and so on. And now I would like to receive a large portion of your comments: P

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


All Articles