Skip to content

Edmaroff/library-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python version Pytest Version

Library Manager

Описание

Library Manager — это консольное приложение для управления библиотекой книг. Позволяет добавлять, удалять, искать и отображать книги, а также изменять их статус.

Функционал

  • Добавление книги: Введите название, автора и год издания.
  • Удаление книги: Удаление книги по ID.
  • Поиск книг: Поиск по названию, автору или году издания.
  • Отображение книг: Показ всех книг с их данными.
  • Изменение статуса: Установка статуса "в наличии" или "выдана".

Структура проекта

  • main.py — Точка входа в приложение.
  • models/ — Модели данных (Book).
  • controllers/ — Управление логикой приложения (Library).
  • views/ — Интерфейс командной строки (CLI).
  • services/ — Работа с файлами (StorageService).
  • tests/ — Тесты.
Структура библиотеки

Пример файла библиотеки: library_example.json

[
    {
        "id": 1,
        "title": "Начинаем программировать на Python",
        "author": "Тони Гэддис",
        "year": 2024,
        "status": "выдана"
    },
    {
        "id": 2,
        "title": "Изучаем Python",
        "author": "Марк Лутц",
        "year": 2020,
        "status": "в наличии"
    }
]
  

Установка

  1. Клонируйте репозиторий:
    git clone https://github.com/Edmaroff/library-manager
  2. Перейдите в директорию проекта:
    cd library-manager
  3. Установите и активируйте виртуальное окружение для проекта venv:
    python -m venv venv
    venv\Scripts\activate
  4. Установите зависимости из requirements.txt:
    pip install -r requirements.txt
  5. Запустите приложение:
    python main.py

    Результаты сохраняются в файле library.json.

Запуск тестов

Для запуска тестов выполните команду:

pytest

About

Менеджер библиотеки

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages