12 проектов

Бэкенды

Сервисы с API, базой и тестами. Сейчас все на Go; фильтр по языку появится вместе с первым проектом на другом.

  • 386 тестов
  • 227 маршрутов
  • 24 370 строк Go

Бэкенды: Проекты

Янтарь: канбан-доска

Многопользовательская канбан-доска: регистрация, доски, колонки, карточки с перетаскиванием. Go + SQLite без CGO, фронт встроен в бинарник.

APIGo
тестов
7
маршрутов
18

Короче: сократитель ссылок

Сокращение ссылок с алиасами и сроком жизни, статистика кликов по дням, браузерам и устройствам, дашборд под токеном. IP не хранятся.

APIGo
тестов
12
маршрутов
11

Запись на приём

Онлайн-запись на услуги: свободные слоты с учётом длительности и рабочих часов, защита от двойной записи, админ-панель. Вымышленная студия, демо.

APIGo
тестов
12
маршрутов
18

Пульс: монитор доступности

Монитор доступности: HTTP и TCP проверки по расписанию, аптайм, p50/p95, детектор инцидентов, живой дашборд на SSE и публичная статус-страница. Go + SQLite без CGO.

инфраструктураGo
тестов
18
маршрутов
15

Конвейер: очередь задач

Очередь фоновых задач: приоритеты, отложенные и cron-задачи, ретраи с backoff и jitter, dead-letter, идемпотентные ключи, lease с fencing, метрики Prometheus.

инфраструктураGo
тестов
25
маршрутов
19

Комнаты: чат и доска в реальном времени

Комнаты в реальном времени: чат с историей в SQLite, список «кто онлайн», индикатор «печатает», общая доска со штрихами и курсорами, анонимные ники. WebSocket (RFC 6455) написан на stdlib.

realtimeGo
тестов
48
маршрутов
7

Шлюз: API-gateway

API-шлюз на чистой stdlib: маршруты по хосту/префиксу из JSON-конфига с горячей перезагрузкой без обрыва соединений, балансировка round-robin и least-conn, health-checks, circuit breaker на узел, ретраи идемпотентных запросов, rate limit, хэшированные API-ключи, метрики Prometheus, живой дашборд на SSE.

инфраструктураGo
тестов
48
маршрутов
11

Картотека: заметки с поиском

База Markdown-заметок на Go и SQLite: вики-ссылки [[заметка]] с обратными ссылками и графом связей, полнотекстовый поиск FTS5 (bm25, подсветка, упрощённая русская морфология), история версий с собственным diff, автосохранение с разрешением конфликтов, экспорт и импорт .md.

данныеGo
тестов
32
маршрутов
19

Плот: KV на Raft

Учебная реализация Raft с нуля на чистой stdlib: выборы лидера, репликация лога, коммит по кворуму, лог и term/vote на диске с fsync, снапшоты с компакцией, линеаризуемые чтения (read-index), редирект фолловера на лидера. Тестируется детерминированным симулятором сети и времени с проверкой линеаризуемости; дашборд умеет убивать лидера и рвать сеть (демо).

данныеGo
тестов
27
маршрутов
13

Ключница: сервис аутентификации

Сервис аутентификации и авторизации на Go: EdDSA-JWT с ротацией ключей и JWKS, refresh-токены с ротацией и обнаружением кражи, TOTP-2FA (RFC 6238) с резервными кодами, RBAC, блокировка при переборе, сброс пароля по одноразовому токену, журнал аудита, список устройств, openapi.yaml. Не прошёл независимый аудит, не production-IdP.

авторизацияGo
тестов
50
маршрутов
35

Книга учёта: личные финансы

Учёт личных финансов: счета в разных валютах с ручными курсами, доходы, расходы и переводы, бюджеты, платежи по cron-подобному расписанию, импорт CSV с превью, отчёты. Деньги только в целых минорных единицах, данные пользователей изолированы, графики нарисованы на SVG без библиотек. Go + SQLite и фронтенд на Nuxt 4.

APIGo
тестов
30
маршрутов
45

Пиксельная стена: общий холст

Совместный холст 256×256 в духе r/place: 16 цветов, кулдаун на сессию и IP, свой WebSocket-слой на stdlib (RFC 6455) с бинарным протоколом (4 бита на пиксель), снимок и дельты, снапшот плюс журнал с восстановлением, таймлапс, зум и пан, мини-карта, экспорт PNG, админ-инструменты. Пет-проект.

realtimeGo
тестов
77
маршрутов
16