Skip to content

tvitcom/czthree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TEST 3

Необходимо спроектировать API сервис TODO.

Функционал:

  • [v] Несколько аккаунтов с правами "Админ" и "Пользователь".
  • Создание/Просмотр/Изменение/Удаление TODO.
  • Админ может управлять TODO всех и создавать, удалять юзеров.
  • [v] SQL база данных(мы используем MySQL, но для данного задания можно воспользоваться SQLite).
  • После создания TODO, должна быть возможность уведомить внешний сервис об этом, например сообщение в Telegram или WebHook(реализовать интерфейс для этого, сама реализация отсылки не требуется).

Восстановления пароля и работа с email, в данном задании, не требуется.

Сейча можно увидеть увидеть:

  • [v] Project Layout.
  • [v] Какие используются внешние зависимости.
  • [v] Как организованно внедрение зависимостей(Dependency Injection).

Системные требования:

  • Go 1.16.9(max - bug occured with jose2go with go1.16.11)
  • MySql 8.x (no ssl)
  • Linux x32,x64
  • Утилита make (для обработки файла Makefile)

Для выполнения работы используются https://github.com/qiangxue/go-rest-api и некоторые важные папки из https://github.com/golang-standards/project-layout Некоторые свои изменения я опсал в своем темплейте https://github.com/tvitcom/fusion-framework и применяю его в своих пет проектах.

Настройка

  1. создать mysql бд czthree и пользователя czthree с паролем.
  2. переименовать файл configs/_dev.yml в ./configs/dev.yml
  3. прописать пароль для соединения с бд
  4. импортировать дамп ./data/czthree_db_init.sql
  5. инициализировать go mod командой: go mod tidy
  6. выполнить команду: make dev
  7. запустить броузер с адресом http://localhost:3000/
  8. войти с пользователем admin и паролем: pass_to_admin

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages