Skip to content

wwwAiru/Flask-learn

Repository files navigation

MsfoStockBot

Проект MsfoStockBot - это сервис для инвесторов российского фондового рынка, включает в себя веб версию и телеграм бот(к учебному курсу по flask не отноститься и находится в соседнем репозитории) который работает через api веб версии. Перед тем как запустить проект, нужно установить все библиотеки из файла requirements.txt (набрать команду в терминале pip install -r requirements.txt). Запустить файл main.py.

Версия python 3.8.6+ (на более ранних версиях не проверял). Проект рабочий(https://msfostockweb.pythonanywhere.com/), прошу не снижать балл если Вы столкнулись с проблемами запуска. При регистрации, письмо с подтверждением электронной почты скорее всего попадёт в спам, ищите его там)


Воспользуйтесь зарегистрированными аккаунтами для тестирования функционала:

  1. Администратор - логин: [email protected] пароль: admin
  2. Редактор - логин: [email protected] пароль: editor
  3. Обычный пользователь - логин: [email protected] пароль: user

В проекте используется система ролей которая позволяет разграничить права пользователей.

Роль admin предоставляет панель администратора. С помощью панели администратора можно управлять любыми данными сайта, это: назначение ролей пользователям, создать/удалить пользователя, добавить/удалить отчёт компании, добавить/удалить api ключ, изменить информацию на главной странице, изменить информацию на главной странице панели администратора. Дополнительная функция - создание тестового пользователя, присутствует в профиле администратора. Создание тестового пользователя позволяет создать профиль с простым паролем (4 любых символа), а так же не требует подтверждения электронной почты.

Роль editor предоставляет возможность добавлять компании и отчёты, а так же их редактировать.


По заданию из мини проекта по Flask-WTF:

  1. Базовый шаблон находится templates/base.html он применён к каждой странице сайта.
  2. css стили полностью на bootstrap.
  3. Flask-WTF используется в проекте многократно, это создание тестового пользователя(user_profile\user_profile.py) под учёткой админа(без подтверждения почты и с упрощённым паролем), форма регистрации нового пользователя(user_profile\registration_form.py), добавление компании, если Вы, с правами администратора или редактора(msfo_records\forms).
  4. При создании тестового пользователя применяются различные поля: EmailField, PasswordField, StringField, SelectField, DateField прочитать о них можно в документации библиотеки flask-wtf. К полям пароля применены валидаторы InputRequired(обязательное поле), EqualTo(схожесть поля с подтвержением пароля), Length(длина мин. и макс.)
  5. В проекте множество функций представления со статическими маршрутами, а так же динамическим( msfo_records\content_blueprint.py http://192.168.1.229:5000/msfo_records/<slug>/edit/). Функции представления обрабатывают GET и POST запросы.

Для управления базой данных используется библиотека Flask-SQLAlchemy, для регистрации и авторизации используется библиотека Flask-Security-Too, для панели администратора - Flask-Admin.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published