Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Films API

Це проєкт, що реалізує REST API для отримання та передачі інформації про фільми. АПІ надає можливість отримувати дані про фільми, акторський склад, рейтинги, відгуки користувачів, опис фільму та цікаві факти про них.

## Діаграма класів
<img width="1006" alt="image" src="https://github.com/ledan404/coursework/assets/55048747/4605ec8a-22eb-4de7-934b-32806eea8708">


Film: Представляє фільм із всією відповідною інформацією, такою як назва, рейтинг, актори тощо.

FilmService: Надає функціональність для операцій над фільмами, таких як додавання, редагування та видалення.

FilmController: Обробляє HTTP-запити із використанням Spring Boot та взаємодіє з FilmService.

FilmWriter: Забезпечує збереження та вичитку даних у форматі CSV.
Залежності проєкту

### Проект побудований з використанням наступних технологій та бібліотек:

**Java 17**

**Spring Boot**

**Lombok**

**Maven**

## Інструкції запуску

Щоб запустити цей проект, виконайте наступні кроки:

Клонуйте репозиторій проекту:
`git clone https://github.com/ledan404/coursework.git`

Перейдіть до каталогу проекту:
`cd coursework`
Запустіть проект за допомогою Maven:
`mvn spring-boot:run`
Проект буде запущено на http://localhost:8080.

## REST запити

Проект надає наступні REST API для отримання та передачі даних про фільми:

GET /films: Повертає всі фільми, що присутні в системі.

GET /films/{id}: Повертає фільм із вказаним ідентифікатором.

POST /films: Додає новий фільм.

PUT /films/{id}: Оновлює фільм із вказаним ідентифікатором.

DELETE /films/{id}: Видаляє фільм із вказаним ідентифікатором.

## Тестування

У проекті використовуються юніт-тести для перевірки логіки запису та пошуку файлів на файловій системі. Щоб запустити тести, виконайте наступну команду:

`mvn test`

## Перевірка якості коду

Код проекту можна перевірити за допомогою інструментів Spotbugs та Checkstyle. Щоб запустити перевірку, виконайте наступні команди:

`mvn spotbugs:check`

`mvn checkstyle:check`
26 changes: 26 additions & 0 deletions checkstyle-suppressions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
"-//Checkstyle//DTD SuppressionFilter Configuration 1.0//EN"
"https://checkstyle.org/dtds/suppressions_1_0.dtd">

<suppressions>
<suppress checks="JavadocVariable"
files="."/>
<suppress checks="JavadocPackage"
files="."/>
<suppress checks="MissingJavadocMethod"
files="."/>
<suppress checks="NewlineAtEndOfFile"
files="."/>
<suppress checks="HiddenField"
files="."/>
<suppress checks="LineLength"
files="Writer.java"/>
<suppress checks="HideUtilityClassConstructor"
files="AbstractTransport.java"/>
<suppress checks="HideUtilityClassConstructor"
files="BusRestApplication.java"/>
<suppress checks="DesignForExtension"
files="AbstractTransport.java"/>
</suppressions>
Loading