Данное приложение представляет собой веб-форум, схожий по идее и функционалу с такими платформами, как 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 методов.