Skip to content
/ pitter Public

Yet Another Twitter clone (now with python!)

Notifications You must be signed in to change notification settings

xivol/pitter

Repository files navigation

pitter

https://yatter-python.herokuapp.com/

Yet Another Twitter clone (now with python!)

Simple microblogging platform:

  • Register and sign in
  • Post messages
  • Edit and Delete messages
  • ... thats it for now!

RUS {🇷🇺}

Простенький твиттер:

  • Работает регистрация и вход
  • Можно отправлять сообщения
  • Сообщения можно редактировать и удалять
  • ... и всё!

Информация для проверяющих

Основная работа была вложена в построение архитектуры приложения. На мой взгляд, стандартный подход flask с декораторами не очень хорошо ложится на те принципы ООП, которым мы учим.

Я посторался перевести приложене на архитектуру MVC:

  • Model: Файлы с описанием классов для ORM(SQLAlchemy). Папка models.
  • View: Шаблоны + Классы для заполнения этих шаблонов. Папки templates и view_models.
  • Controller: Блюпринты для связи View c основным приложением. Папка controllers.

В папке x_app - модуль с базовыми классами для всей этой системы.

В одно приложение это все собирается прямо в main.py: здесь объявлен класс PitterApp, в нем подключены все контроллеры.

Источники данных реализованы отдельными классами:

  • XDataProvider хранит необходимые ссылки для SQLAlchemy.
  • XIdentityProvider - абстрактный менеджер авторизации. Конкретный класс UserProvider - реализация авторизации через Flask-Login, находится в main.py.

Настройки приложения вынесены в файл application.cfg

Как собрать проект:

По идее все собирается само из-под PyCharm. Если нет, то нужно просто сделать

pip install -r requirements.txt
python main.py

Для удобства проверки всем настройкам заданы значения по умолчанию. В поставке идет база данных с несколькими пользователями и сообщениями.

TODO:

  • перенаправление на исходную страницу после отправки формы;
  • возможность редактировать настройки профиля;
  • загрузка картинок на сервер;
  • возможность отслеживать сообщения пользователей;
  • ... лайки, репосты и т.д.

About

Yet Another Twitter clone (now with python!)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published