AlbatovK / FlaskForum

:technologist: Small forum app made with Flask Web

Home Page:https://flaskforum-production.up.railway.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 методов.

About

:technologist: Small forum app made with Flask Web

https://flaskforum-production.up.railway.app


Languages

Language:Python 61.7%Language:HTML 37.1%Language:Mako 1.2%