Forum
Навыки и технологии: backend на языке Go, базы данных Sqlite, упаковка приложения в контейнер Docker, cookies, хэширование пароля, ООП, обработка ошибок сайта, статус HTTP
Данный проект представляет собой полноценный веб-форум (выполнены полностью и backend и frontend части), позволяющий: пользователям общаться между собой, присваивать категории сообщениям, ставить "лайк" и "дизлайк" сообщениям и комментариям, фильтровать сообщения, использовать базы данных для хранения информации (пользователей, сообщений, комментариев и т.д.)
В этом сегменте пользователь имеет возможность зарегистрироваться на форуме, введя свои учетные данные.
Были использованы cookies, чтобы каждый пользователь имел только одну открытую сессию. Каждая из этих сессий содержит дату окончания действия.
При регистрации запрашивается email. Если e-mail уже занят, пользователь оповещается об этом. Пароль зашифрован при хранении в базе данных. Регистрация на форуме умеет проверять наличие указанного адреса в базе данных и правильность всех учетных данных. Проверяется совпадает ли пароль с указанным, и, если пароль не совпадает, возвращает ответ об ошибке.
Для того чтобы пользователи могли общаться между собой, они имеют возможность создавать сообщения и комментарии.
Создавать сообщения и комментарии могут только зарегистрированные пользователи.
При создании сообщения зарегистрированные пользователи могут привязать к нему одну или несколько категорий.
Сообщения и комментарии видны всем пользователям (зарегистрированным или нет).
Сайт на английском языке, поэтому идет проверка, чтобы сообщения были на латинице.
Только зарегистрированные пользователи могут ставить "лайки" и "дизлайки" сообщениям и комментариям.
Количество "лайков" и "дизлайков" видно всем пользователям (зарегистрированным или нет).
Зарегистрированные пользователи могут зайти в свой личный кабинет.
В кабинете они могут посмотреть все созданные ими посты, оставленные комментарии и лайкнутые посты, а также увидеть общее количество написанных ими постов.
Только зарегистрированные пользователи могут ставить "лайки" и "дизлайки" сообщениям и комментариям.
Количество "лайков" и "дизлайков" видно всем пользователям (зарегистрированным или нет).