Приложение представляет собой REST-сервис и предназначено для работы пользователя с файлами: загрузки, скачивания, переименования и удаления файлов, а также получение списка файлов, хранящихся на сервере в настоящий момент.
Данные пользователей (логин/пароль), а также информация о файлах, находящихся в облачном хранилище хранятся в базе данных MySQL.
Все запросы к сервису авторизованы. Заранее подготовленное веб-приложение (FRONT) подключается к разработанному сервису без доработок, а также использует функционал FRONT для авторизации, загрузки и вывода списка файлов пользователя. Сервис реализует все методы описанные yaml файле. FRONT доступен на порту 8080, BACKEND на порту 5555.
-
USERNAME: root PASSWORD: root
-
USERNAME: elgovsky@yandex.ru PASSWORD: 1234
- Приложение разработано с использованием Spring Boot
- Использован сборщик пакетов maven
- Использована база данных mysql
- Для запуска используется docker, docker-compose
- Код размещен на github
- Код покрыт unit тестами с использованием mockito
- Информация о пользователях и о файлах пользователей хранится в базе данных
- Установить nodejs (рекомендуемая версия 14.16.1, версии выше 16 не поддерживаются) на компьютер следуя инструкции: https://nodejs.org/ru/download/
- Скачать FRONT (JavaScript);
- Перейти в папку FRONT приложения и все команды для запуска выполнять из нее.
- В файле .env FRONT нужно изменить url до backend: VUE_APP_BASE_URL=http://localhost:5555
- Следуя описанию README.md FRONT проекта запустить nodejs приложение командой npm install. Появится папка node_modules.
- Для запуска FRONT приложения с расширенным логированием использовать команду: npm run serve
- Скачать данный проект, в терминале выполнить команду ./mvnw clean package
- С помощью docker запусть docker-compose.yml (docker-compose up). После запуска создадутся все необходимые в базе данных таблицы.
http://localhost:5555/login
POST
Content-Type: application/json
{"login":"root", "password":"root" }
- предоставление доступа к приложению, успешный ответ с кодом "200" и "auth-token" - токен доступа, сформированный для пользователя, по которому будет происходить авторизация к дальнейшим запросам
- неуспешный ответ с кодом "400"(неверные параметры аутентификации)
- неуспешный ответ с кодом "500"(ошибка приложения)
http://localhost:5555/file?filename=FileName.txt
POST
Content-Type: multipart/form-data
- загрузка файлав хранилище, успешный ответ с кодом "200"
- неуспешный ответ с кодом "500"(ошибка приложения)
http://localhost:5555/file?filename=FileName.txt
DELETE
- удаление файла из хранилища, успешный ответ с кодом "200"
- неуспешный ответ с кодом "400"(неверные параметры)
- неуспешный ответ с кодом "500"(ошибка приложения)
http://localhost:5555/file?filename=FileName.txt
PUT
Content-Type: application/json
{"filename":"new_filename.txt"}
- изменение имени указанного файла, успешный ответ с кодом "200"
- неуспешный ответ с кодом "400"(неверные параметры)
- неуспешный ответ с кодом "500"(ошибка приложения)
http://localhost:5555/file?filename=FileName.txt
GET
multipart/form-data контент, успешный ответ с кодом "200" неуспешный ответ с кодом "400"(неверные параметры) неуспешный ответ с кодом "500"(ошибка приложения)
http://localhost:5555/list?limit=3
GET
- список файлов пользователя, успешный ответ с кодом "200"
- неуспешный ответ с кодом "400"(неверные параметры)
- неуспешный ответ с кодом "500"(ошибка приложения)