L0

module
v0.0.0-...-21bcbeb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2022 License: MIT

README

L0

L0 - одно из тестовых заданий для Wildberries

Суть задания

  • Подключение и подписка на канал в nats-streaming
  • Полученные данные писать в Postgres
  • Так же полученные данные сохранить in memory в сервисе (Кеш)
  • В случае падения сервиса восстанавливать Кеш из Postgres
  • Поднять http сервер и выдавать данные по id из кеша
  • Сделать простейший интерфейс отображения полученных данных, для их запроса по id

Реализованные фичи помимо самого задания

  • Подключение к DB и NATS пробрасываются через переменные окружения
  • Имеется логгер на основе Zap
  • Имеется Template cache с помощью которого можно верстать страничку и видеть изменения с уже скомпилированным бэкэндом
  • Прописаны миграции для базы данных
  • Сделана Not Found страница (Сделана по приколу)
  • Скрипт для поднятия сервера STAN, если он не запущен
  • Валидация отправки данных в канал STAN со стороны Publisherа

Использованные библиотеки/технологии

  • Логгер Zap
  • Роутер chi
  • Брокер сообщений STAN
  • Конфигуратор Cleanenv
  • Драйвер БД pgx
  • База данных PostgreSQL
  • В дополнение к HTML/CSS/JS использовался Bootstrap

Directories

Path Synopsis
cmd
web command
internal
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL