Hallo Habr. Ich habe beschlossen, Ihnen den Motor zu zeigen, den ich langsam entwickle. Dies ist eine Blogging-Plattform mit Funktionen, die sehr nahe an mittleren und ähnlichen Projekten liegen.
Grundfunktionen:
Veröffentlichungen, Kommentare, Favoriten, Abonnements, Benachrichtigungen, Bewertungen, Abstimmungen.
Minimalistisches Textdesign:

Spielplatz
Es gibt einen Spielplatz, auf dem Sie die Plattform unbeschadet der Zivilbevölkerung berühren können: Testgelände .
Lokalisierung
Der Dienst trennt Benutzer automatisch nach Sprache und leitet russischsprachige Benutzer an die russische Subdomain und englischsprachige Benutzer an Englisch weiter. Diese Trennung wird im Wesentlichen auf der Inhaltsebene implementiert. True Interface ist nur in Englisch verfügbar. Jede Subdomain hat ihre eigene Datenbank und ihre Benutzer, die Registrierung ist nicht durchgängig (jede Subdomain hat ihr eigenes Ökosystem, das Leben hat zum Beispiel nicht überall seinen Ursprung).

Optimierung
Der Service zeichnet sich durch eine sehr aggressive Optimierung aus. Alle heruntergeladenen Bilder mit mehr als 100 Kilobyte werden nach der Atkinson-Methode in Schwarzweißvorschauen gepresst. Sie können beispielsweise das Original anzeigen:

Schwere Skripte und Stile werden nicht verwendet, ebenso keine externen Skripte, die das Benutzerverhalten überwachen. Die Website bleibt auf jeder Plattform schnell und bequem, einschließlich deaktiviertem Javascript. In Zukunft möchte ich die Download-Geschwindigkeit von Telegrammkanälen erreichen.
Abonnements
Auf der Hauptseite wird eine Liste der Autoren angezeigt, die der Benutzer abonniert hat, sowie die Anzahl der neuen Veröffentlichungen für jeden Autor. Wenn Sie auf diese Schaltfläche klicken, werden ungelesene Veröffentlichungen in chronologischer Reihenfolge wie in Telegrammkanälen geöffnet:

Benachrichtigungen
Außerdem werden auf der Hauptseite Benachrichtigungen über Erwähnungen in den Kommentaren mit der Möglichkeit des Übergangs angezeigt:

Der Herausgeber
Der Editor unterstützt sowohl Markdown- als auch visuelle Textformatierungen mit der Möglichkeit, eine Vorschau anzuzeigen, auf den Vollbildmodus zu erweitern usw. Es wird daran gearbeitet, die Verfügbarkeit der Website für blinde und sehbehinderte Benutzer sicherzustellen.

Bewertungssystem
Es gibt drei Abschnitte mit seltsamen Namen auf der Hauptseite:
top mid btm

Ja, ich liebe DotA (mein Hund heißt zum Beispiel Pooja). Ich denke, bei Bewertungen geht es mehr um Spielmechanik / Motivation als um etwas ernsthaft Angemessenes. Alle Artikel werden in der Mitte der Farm bewertet.) Wie in der Landwirtschaft - steigen Sie in die Spitze ein. Wenn die Mitte zusammengeführt wird, fallen sie auf den Boden. Die geschätzte Formel wird ycombinator sorgfältig gestohlen (neue Artikel benötigen weniger Stimmen, um an die Spitze zu gelangen als alte). Entschuldigen Sie die kostenlose Manipulation einer so heiligen Sache für viele als Bewertung. Derzeit gibt es jedoch keine Bewertung der Autoren als solche. Nur Artikel bewerten.
Artikelbewertung.
+ 5: 1 -
Jeder Benutzer hat 10 Stimmen pro Tag. Er kann sie beide für die Vor- und Nachteile ausgeben. Wie für einen Artikel mit allen 10 Stimmen, um sie so zu verteilen, wie er will.
Der Autor des Artikels sieht sowohl negative als auch positive Reaktionen getrennt.

Kommentar Bewertung
Kommentare werden nur positiv bewertet. Ich weiß nicht warum, frag nicht. Ich wollte mehr Möglichkeiten geben, um Feedback mit verschiedenen Mechanikern zu sammeln. Für einen Kommentar kann nur eine Stimme abgegeben werden. Jeder Benutzer hat 10 Stimmen pro Kommentar und Tag. Ein Kommentar - eine Stimme. Es scheint transparent zu sein, ist aber nicht korrekt. Vielleicht wird sich das bald ändern.
Tags
Jeder Artikel kann ein globales Tag haben. Bisher nur eine (aus irgendeinem Grund machen mir riesige Markierungswolken für alle Gelegenheiten Angst).

Offenheit
Der Quellcode des Projekts ist geöffnet. Auf github finden Sie Anweisungen zum Zusammenstellen und Bereitstellen Ihrer eigenen Version: github
Einschränkungen
Dies ist nicht das erste Projekt mit UGC. Leider kommen etwa einmal pro Woche Glücksbriefe von Roskomnadzor / Hosting Provider an. Daher reagiere ich ziemlich nervös auf Kinderpornografie und andere illegale Inhalte. Der Bann-Button - einer der ersten erschien (aus irgendeinem Grund interpretieren viele Leute die Bedeutung des Wortes Open Source irgendwie. Nun, die Assoziationen mit Telegraphen / Telegraphen funktionieren. Es gibt auch andere Einschränkungen - Benutzer sind in der Häufigkeit von Kommentaren und Posts begrenzt, es gibt Einschränkungen bei der Registrierung. Zum Beispiel Sie können nicht mehr als einmal pro Minute neue Kommentare hinterlassen. Ein Kommentar oder Beitrag sollte mehr als 10 Zeichen enthalten. Dieser Pool von Einschränkungen wurde nicht von Grund auf neu erstellt. Er macht einige buchstäblich wütend. Aber so (
Was ist drin?
Das Projekt ist in Golang ohne externe Abhängigkeiten geschrieben. Jetzt wird es auf einem regulären dedizierten Server gehostet, mit langsamer Festplatte und unter hoher Last noch nicht. Ich möchte mich nicht übertreffen und Ihnen sagen, was eine schöne Datenbank im Kern ist, da Sie zuerst sicherstellen müssen, dass sie wirklich schön ist.
Haftungsausschluss
Vieles ist noch nicht abgeschlossen. Viele Dinge werden nicht wie alle anderen implementiert. Ich experimentiere mit etwas. Etwas wird dir falsch erscheinen. Aber wenn Ihnen das Projekt interessant erschien, versuchen Sie: github