Skip to content

Сайт на Golang по типу Habra (в основном делаю упор на backend)

Notifications You must be signed in to change notification settings

ZenSam7/Education

Repository files navigation

Делаю бекенд учебного сайт

Чему я тут научился (что я тут использовал):

  • Кончно же Golang (интерфейсы, контексты, горутины ...)

  • Сервер на gRPC с HTTP Gateway

  • Зачем-то сделал ещё и RESTful API на фреймворке Gin

  • Авторизация по 2м токенам (paseto или jwt) и верификация почты

  • Использовал Redis и как брокер сообщений, и как кэш

  • Развернул приложение в Docker (написал Dockerfile и docker-compose)

  • Mock-тесты и обычные unit-тесты, с общим покрытием ~40%

  • Поработал с CI/CD (GitHub Actions)

  • Лучше освоил linux

  • Имеется репликация данных в отдельный контейнер

  • SQLC для генерации кода на Golang из SQL запроса

  • Где необходимо, сделал транзакции

  • Бд реализовал на PostgreSQL

    Мелочи:

  • Сделал автогенерацию документации (в ./doc/)

  • >6000 строк отлаженного, работающего, лично написанного кода (+5500 сгенерированного)

  • Понял что Makefile — очень удобная штука

  • Migrate для, собственно, миграций

  • Настроил красивый логгер

Как запустить:

Можно запустить через Docker Compose:

docker compose up

Или можно выполнить команду на ubuntu:

make all

Убрать всё что было создано:

make clean

Сам проект:

Архитектура бд:

About

Сайт на Golang по типу Habra (в основном делаю упор на backend)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published