Skip to content

About

Public domain backend for Object Hub

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

49 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ojhub-openGo

ojhub-opengo - открытая реализация бекенда Object Hub на Go, которая уже вытеснила nodejs бекенд и работает в продакшне.

Кто мы вообще такие?

Object hub - платформа для Object Show Community, с упором на собственный вики движок и СМИ. Мы намеренно отказались от популярных веб стандартов в пользу производительности сайта - в теории Интерфейс клиента Object hub работает в стабильные 60 фпс даже на слабых Chromebook'ах (потому что весь движок был написан на Athlon 64 X2)!

Почему openGo

nodejs 150 мегабайт озу idle, openGo 13 мегабайт idle, как говорится - думайте.
Поправка от середины сентября - openGo стал Standalone, но его idle все ещё 25 мегабайт

Небольшая справочная информация

openGo был сделан за 8 дней на основе чудом найденного прототипа на почти мёртвом HDD.
За эти 8 дней я навайбкодил 50% Object hub API и выкатил его в продакшн.
Так как php/node бекенды этого сайта работают на FreeBSD мы намеренно отказались от излишей инфраструктуры с целью тотальной портируемости этой реализации бекенда.

Почему русский язык?

Движок Object hub исторически создавался ещё когда мне (MIOBOMB) было 15 лет и я почти не понимал английский, причины по которым комментарии в коде и документации все ещё пишутся на русском:

  • Исторический пласт (всё везде итак на русском)
  • Я все ещё не силён в английском
  • Сохранение относительно единого стиля везде

Текущая инфраструктура:

  • Go 1.26
  • Mariadb 11.8, но можно любую другую современную версию
  • redis 8.8.0, но можно аболютно любой другой драйвер (см. InitRedis функцию) или вообще не использовать RamDB

Долгосрочная цель (почти закрыта):

  • Минимальное потребление ресурсов
  • Высокая портируемость
  • 100% совместимость с legacy-php
  • 100% совместимость с поддерживаемыми версиями object hub
  • Нормальная и задокументированная инфраструктура
  • MaxMind GeoLite2

чек-лист (мне chatgpt предложил добавить)

  • Продакшн? да
  • Loader 1.10? Уже 1.30
  • Полезные ссылки? ну, сори я ещё не силён в организации репозиториев
  • Сколько api готово? 92 / 97 эндпоинтов
  • Что будет портировано следующим? вики файлы
  • Что будет исправлено дальше? добавлю redis там где поленился потому что "ай нагрузка всё равно никакая"
  • Что я сделаю когда настроение будет? install.sh скрипт, с поддержкой freebsd, debian linux, termux

About

Public domain backend for Object Hub

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages