https://github.com/noras2001/sqlalchemy_project
Book CRUD Application
https://github.com/noras2001/sqlalchemy_project
bootstrap crud fastapi html sqlalchemy
Last synced: 2 months ago
JSON representation
Book CRUD Application
- Host: GitHub
- URL: https://github.com/noras2001/sqlalchemy_project
- Owner: Noras2001
- License: mit
- Created: 2025-02-14T19:02:43.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-14T19:42:31.000Z (over 1 year ago)
- Last Synced: 2025-02-14T20:27:47.788Z (over 1 year ago)
- Topics: bootstrap, crud, fastapi, html, sqlalchemy
- Language: HTML
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
- License: LICENSE
Awesome Lists containing this project
README
# Book CRUD Application
Это простое CRUD-приложение (Create, Read, Update, Delete) для управления книгами, построенное с использованием FastAPI, SQLAlchemy (асинхронный), и базы данных SQLite. Интерфейс использует Bootstrap для стилизации и ванильный JavaScript для динамического взаимодействия.
## Возможности
- **Создание книги**: Добавление новой книги в базу данных.
- **Просмотр книги**: Получение и отображение деталей конкретной книги по её ID.
- **Обновление книги**: Изменение деталей существующей книги.
- **Удаление книги**: Удаление книги из базы данных.
- **Список книг**: Отображение всех книг в динамической таблице.

- **Форма для фильтрации таблицы**

## Структура проекта
```
project/
├── app/
│ ├── main.py
│ ├── models.py
│ ├── schemas.py
│ ├── crud.py
│ ├── database.py
│ ├── templates/
│ │ └── index.html
│ └── static/
│ └── js/
│ └── scripts.js
├── venv/
├── requirements.txt
└── README.md
```
## Установка
1. **Клонируйте репозиторий:**
```bash
git clone https://github.com/yourusername/book-crud-app.git
cd book-crud-app
```
2. **Создайте и активируйте виртуальное окружение:**
```bash
python3 -m venv venv
source venv/bin/activate # Для Windows: venv\Scripts\activate
```
3. **Установите зависимости:**
```bash
pip install -r requirements.txt
```
4. **Запустите приложение:**
```bash
uvicorn app.main:app --reload
```
5. **Откройте приложение в браузере:**
Перейдите по адресу `http://127.0.0.1:8000/`.
## Использование
- **Создание книги**: Заполните форму "Create Book" и нажмите кнопку "Create Book" для добавления новой книги.
- **Просмотр книги по ID**: Введите ID книги в форму "View Book by ID" и нажмите "Get Book" для получения её деталей.
- **Обновление книги**: Введите ID книги и заполните поля, которые хотите обновить, в форме "Update Book", затем нажмите "Update Book".
- **Удаление книги**: Введите ID книги в форму "Delete Book" и нажмите "Delete Book" для её удаления.
- **Список книг**: Все книги отображаются в таблице "Books List", которая обновляется динамически при выполнении операций.
## Технологии
- **Backend**: FastAPI, SQLAlchemy (асинхронный), SQLite, Pydantic
- **Frontend**: HTML, Bootstrap 4, JavaScript (Fetch API)
- **Прочее**: Jinja2 для шаблонов
## Примечания
- Убедитесь, что файл базы данных `test.db` доступен и у приложения есть права на чтение/запись.
- Приложение использует асинхронные операции для повышения производительности и масштабируемости.
- Для продакшн-развертывания рекомендуется использовать более надежную систему управления базами данных и настроить соответствующие меры безопасности.
## Лицензия
Этот проект лицензирован под лицензией MIT.