Skip to content

PavloShutz/english-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1. Ціль проекту

Дана платформа надає змогу користувачам вивчати англійську мову. На сайті буде можливість переглядати пости адміна. Новини щодо сайту будуть викладатися у телеграм канал через бота.

2. Блоки роботи

2.0 Загальний план роботи

# Що зробити
1 Реєстрація, логінізація та авторизація користувачів
2 Роль користувача у веб-додатку
3 Роль адміна у веб-додатку
4 Інтеграція з телеграм-ботом

2.1 Реєстрація, логінізація та авторизиція користувачів

При реєстрації користувачів користувачі повинні будуть передавати такі дані:

  • Ім'я
  • Призвіще
  • Адрес електронної пошти
  • Пароль
  • Підтвердження пароля

Також при створенні нового профіля користувача буде встановлюватися аватарка користувача за замовчуванням

При логінізації від користувача треба буде отрисувати дані про:

  • Адрес електронної пошти
  • Пароль Якщо виникає помилка логінізації, сповістити користувача про неправильно введений адрес електронної пошти або пароля. Також, унизу має бути посилання на сторінку відновлення пароля.

При виходу з акаунту буде спливати вікно з підтвердженням.

2.2 Загальна структура веб-сайту

Зверху сторінок буде логотип з назвою сервісу.

  1. Навігаційна панель матиме 4 основні посилання, а саме:

    • Home
    • Якщо користувач не зареєстрований
      • Sign In
      • Sign Up
    • Якщо користувач увійшов
      • Sign Out
    • Profile
  2. Сторінка Home:

    • Посередині буде розміщена стрічка зі списком тем, які додав адмін. Списки матимуть:
      • Назву теми
      • Кнопку "Прочитати"
    • З правого боку сторінки буде розташовуватись секція з:
      • посиланням на чат з телеграм ботом
      • Report bugs
      • *Додати нову тему (лише для адмінів)
  3. На сторінках логінізації та реєстрації форма буде розташована посередині сторінки і матиме поля, описані вище у пункті 2.1.

  4. Сторінка профілю матиме:

    • Фото профілю
    • Ім'я та призвіще
    • Адреса електронної пошти
  5. Внизу кожної сторінки буде блок About з посиланням на:

    • Проект
    • Телеграм автора
    • YouTube автора
  6. (Для адмінів). При натискані на кнопку "Додати нову тему", адміна перекидатиме на нову сторінку, де:

    1. Поле для заповнення назви теми
    2. Основне поле для наповнення контентом з відповідної теми
    3. *Кнопка для створення тестування

2.3 Стек технологій

  • Бекенд
    • Python
    • Flask
    • Flask-Login
    • Flask-SQLAlchemy
    • Flask-Migrate
    • Flask-WTF
  • Фронтенд
    • HTML
    • Jinja2
    • Bootstrap5
    • JavaScript
    • Bootstrap-Flask
  • Телеграм бот
    • Aiogram

2.4 Загальний стиль сторінки

Блідно зелений колір елементів.

Завантаження

  1. Створіть у теці english_lab файл .env
  2. Вкажіть туди такі параметри:
ADMINS=
CHAT_ID=
TOKEN=