Скриншот архива с проектом

Структура проекта
Задание
Разработать простое веб-приложение на языке Python позволяющее вести учет научных работ. Приложение должно обладать базовым функционалом и выполнять базовые CRUD-операции. Кроме того должна быть реализована простейшая система регистрации и авторизации. Приложение должно быть реализовано на фреймворке Flask.
Разработать телеграмм-бота, который будет взаимодействовать с веб-приложением и будет обладать следующим функционалом: получение сведений о научных работах - публикациях и добавление новых публикаций.
Функционал программы
- регистрация и авторизация пользователей
 - добавление публикаций
 - вывод детальной информации о публикации
 - редактирование данных
 - удаление данных
 - поиск данных - по автору.
 
Функционал программы (телеграмм-бот)
- вывод информации о научных публикациях
 - добавление новых публикаций
 
Фрагмент программного кода
class Publication(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    author_name = db.Column(db.String(100), nullable=False,
                            info={'help_text': 'Введите автора', 'verbose_name': 'Автор'})
    author_photo = db.Column(db.String(200), nullable=True)  # Путь к изображению
    publication_name = db.Column(db.String(100), nullable=False,
                                 info={'help_text': 'Название', 'verbose_name': 'Название публикации'})
    writing_date = db.Column(db.DateTime, nullable=False, default=datetime.now(timezone.utc),
                             info={'help_text': 'Введите дату написания', 'verbose_name': 'Дата написания'})
    publication_date = db.Column(db.DateTime, nullable=False, default=datetime.now(timezone.utc),
                                 info={'help_text': 'Введите дату публикации', 'verbose_name': 'Дата публикации'})
    publication_place = db.Column(db.String(100), nullable=False,
                                  info={'help_text': 'Введите место публикации', 'verbose_name': 'Место публикации'})
    CATEGORY_CHOICES = [
        ('', 'Выберите категорию'),
        ('Книга', 'Книга'),
        ('Статья', 'Статья'),
        ('Доклад', 'Доклад'),
    ]
    publication_category = db.Column(db.String(50), nullable=False,
                                     info={'verbose_name': 'Категория'})
    def __repr__(self):
        return f'<Publication {self.author_name}, {self.publication_name}>'
Пояснения по запуску программы
Подробная инструкция по работе с веб-приложением
- Скачать и установить интерпретатор Python с официального сайта - https://www.python.org/Вы можете скачать последнюю версию.
 
Но было бы гораздо лучше, если вы установите версию 3.12.3.
- Скачать и установить среду разработки – это может быть как PyCharm Community - https://www.jetbrains.com/pycharm/download/?section=windows Так и Visual Studio Code - https://code.visualstudio.com/download
 
После установки всего выше описанного, настройте VS Code для работы с Python установив необходимые расширения (см. инструкцию - https://youtu.be/j5e5gwZgMH8) . Если используете PyCharm то необходимо зайти в настройки, выбрать данный проект AccountingPublications и выбрать интерпретатор. При необходимости переустановить библиотеки: Flask, Flask-Login, Flask-Bootstrap, Flask-SQLAlchemy, email-validator, Flask-WTF и ряд других которые будут выделятся как не установленные.
Запускаете приложение и пользуетесь. Также вы можете самостоятельно выложить проект на Heroku или любой другой хостинг по вашему выбору .
Подробная инструкция по работе с телеграмм-ботом
- Запускаем мессенджер Telegram и находим там бота – BotFather.
 - Выбираем menu – new bot.
 - Вводите имя бота. Бот предложит ввести имя пользователя для бота – вводите имя пользователя с приставкой _bot.
 - BotFather пришлёт ссылку – для запуска бота и токен, который нужно ввести в файл config.py – то есть нужно заменить прописанный там токен на тот, что выдаст вам BotFather.
 - Запускаете бота. Заходите в Telegram – BotFather – ссылка на вашего бота – Запустить - /start. Вы увидите следующее: клавиатуру с двумя кнопками.
 - Выбираете одну из команд: Добавить публикацию или Показать публикации.
 - Первая команда позволяет добавлять новую публикацию, а вторая выводит список всех публикаций (научных работ).
 - Запускаете веб-приложение. Добавленная вами публикация появится на странице – publications.html .
 
                    
                                        
                                        
                                        
                                        
                                        
                                        

                                Телеграм
                            
                
-