Skip to content

AlbatovK/FlaskForum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlaskForum

Данное приложение представляет собой веб-форум, схожий по идее и функционалу с такими платформами, как Reddit и StackOverflow. Реализованы возможности по созданию, удалению и изменению тематических постов. Пользователи платформы могут обсуждать вопросы и добавлять свои комментарии или ответы, а также ставить постам рейтинг в зависимости от качества и актуальности поставленной в нем проблемы. Посты могут быть отфильтрованы по тегам (темам или топикам, затронутым в вопросе), создателю, рейтингу и статусу вопроса (если создатель считает, что ответ на вопрос получен, он может пометить проблему решенной). Каждый пользователь имеет личную страницу, где может увидеть свой рейтинг, созданные посты и изменить личную информацию, к примеру, добавить аватар.

Техническая зарактеристика проекта

  • Flask - основной веб-фреймворк
    • Jinja2 - рендеринг HTML-шаблонов
    • Flask-wtf - создание удобных веб-форм
    • Flask-login - аутентификация пользователей
    • Flask-RESTful - создание REST API
    • Интеграция Flask-APISpec со Swagger2 - автоматическое создание интерактивной документации
  • SqlAlchemy - реляционная sqlite база данных
    • Alembic - поддержка автоматических миграция
    • SqlAlchemyUtils - поддержка препопуляции БД
  • Boostrap - свободный набор готовых компонентов для упрощения верстки страниц
  • Railway - бесплатный хостинг с автодеплоем

Схема базы данных

Всего в проекте более 540 строк кода, 5 таблиц БД, 6 форм, 9 HTML-шаблонов. Используются статический контент, присутствует загрузка файлов (картинок) в серверное хранилище для дальнейшего использования. API состоит из 5 endpoint-ов GET, POST, DELETE методов.