"Электронная библиотека" — это RESTful веб-сервис, предназначенный для управления коллекцией книг. Этот проект позволяет пользователям выполнять стандартные операции CRUD (создание, чтение, обновление и удаление) для книг в электронном каталоге. Помимо основных функций управления данными, в проекте реализованы возможности поиска книг по различным параметрам, таким как название, автор, год издания, ISBN, жанр и количество страниц.
Проект создан с использованием Spring Boot, что обеспечивает высокую производительность, удобство развертывания и простоту использования. Система хранения данных базируется на PostgreSQL, обеспечивая надежное и эффективное управление большими объемами информации.
"Электронная библиотека" идеально подходит для организаций и индивидуальных пользователей, желающих цифровизировать управление своей коллекцией книг, а также предоставлять быстрый и удобный доступ к информации о книгах.
- Java 17
- Spring Boot (version 3.2.2)
- PostgreSQL (driver 42.6.0)
- JPA / Hibernate
- Liquibase
- Lombok
- JWT (JSON Web Token)
- Angular CLI 17.1.3
- Angular Material
- Node.js 20.11.0
- TypeScript 5.3.2
- HTML5
- CSS3
- GitHub: Seven Lightnapper
- Специализация: Java Middle+ Developer
Скопируйте проект с github'а:
git clone https://github.com/SevenLightnapper/library.git
Зайдите в проект локально:
cd path/to/your-project
Соберите проект:
- maven-wrapper сборка:
./mvnw clean install
- maven сборка:
mvn clean install
Создайте базу данных, например library, в pgAdmin (PostgreSQL). И подключитесь к базе данных в своей среде разработки.
-
В файле application.yml можно изменить название базы данных в строке:
url: jdbc:postgresql://localhost:5432/your_database
-
Также можно изменить имя пользователя (владельца базы данных) и его пароль:
username: your_username
password: your_password
В консоли переходите в корневой каталог проекта и запускаете сборку:
- maven-wrapper сборка:
./mvnw spring-boot:run
- maven сборка:
mvn spring-boot:run
Все нижеуказанные методы реализованы в классе BookController.
- Получение списка всех книг:
GET /books
- Получение книги по ID:
GET /books/{id}
Замените {id} на идентификатор книги. - Добавление новой книги:
POST /books
Тело запроса должно содержать данные книги в формате JSON. - Обновление книги по ID:
PUT /books/{id}
Замените {id} на идентификатор книги. Тело запроса должно содержать обновленные данные книги в формате JSON. - Удаление книги по ID:
DELETE /books/{id}
Замените {id} на идентификатор книги. - Поиск книг, название или имя автора которых содержит заданную строку:
GET /books/search/{title}
Замените {title} на название книги (часть названия) или имя автора (часть имени). - Поиск книг по нескольким параметрам:
GET /books/search
Параметры запроса могут содержать: название книги, имя автора, ISBN, название жанра, год издания, минимальное и максимальное количество страниц. - Поиск книг по ID автора:
GET /books/author/{authorId}
Замените {authorId} на идетификатор автора. - Поиск книг по ID жанра:
GET /api/books/genreId
Замените {genreId} на идетификатор жанра.
- Добавить описание методов API для авторов.
- Добавить описание методов API для жанров.
- Добавить описание методов API для пользователей.
- Добавить раздел фронтенда. Или создать еще один README, но в модуле фронтенда.
- Добавить описание методов аутентификации.
- Добавить описание взаимодействия/настроек приложения для связи между бэкендом и фронендом.
- Добавить примеры запросов HTTP или CURL для каждого эндпоинта API.
- Возможно расширить раздел "Об авторе".
- Обновить описание проекта.