Разработка на Java — удалённая работа в Санкт-Петербурге

Дата: 2023-11-11
Детали
Регион
Санкт-Петербург
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2023-11-11
Описание
Https://github.com/netology-code/jd-homeworks/blob/master/diploma/cloudservice.md Дипломная работа «Облачное хранилище» Описание проекта Задача — разработать REST-сервис. Сервис должен предоставить REST-интерфейс для загрузки файлов и вывода списка уже загруженных файлов пользователя. Все запросы к сервису должны быть авторизованы. Заранее подготовленное веб-приложение (FRONT) должно подключаться к разработанному сервису без доработок, а также использовать функционал FRONT для авторизации, загрузки и вывода списка файлов пользователя. Требования к приложению Сервис должен предоставлять REST-интерфейс для интеграции с FRONT. Сервис должен реализовывать все методы, описанные в yaml-файле: Вывод списка файлов. Добавление файла. Удаление файла. Авторизация. Все настройки должны вычитываться из файла настроек (yml). Информация о пользователях сервиса (логины для авторизации) и данные должны храниться в базе данных (на выбор студента). Требования к реализации Приложение разработано с использованием Spring Boot. Использован сборщик пакетов gradle/maven. Для запуска используется docker, docker-compose. Код размещён на Github. Код покрыт unit-тестами с использованием mockito. Добавлены интеграционные тесты с использованием testcontainers. Шаги реализации Изучите протокол получения и отправки сообщений между FRONT и BACKEND. Нарисуйте схему приложений. Опишите архитектуру приложения, где хранятся настройки и большие файлы, структуры таблиц/коллекций базы данных. Создайте репозиторий проекта на Github. Напишите приложение с использованием Spring Boot. Протестируйте приложение с помощью curl/postman. Протестируйте приложение с FRONT. Напишите README.md к проекту. Отправьте на проверку. Описание и запуск FRONT Установите nodejs (версия не ниже 19.7.0) на компьютер, следуя инструкции. Скачайте FRONT (JavaScript). Перейдите в папку FRONT приложения и все команды для запуска выполняйте из неё. Следуя описанию README.md FRONT проекта, запустите nodejs-приложение (npm install, npm run serve). Далее нужно задать url для вызова своего backend-сервиса. В файле .env FRONT (находится в корне проекта) приложения нужно изменить url до backend, например: VUE_APP_BASE_URL=http://localhost:8080. Нужно указать корневой url вашего backend, к нему frontend будет добавлять все пути согласно спецификации Для VUE_APP_BASE_URL=http://localhost:8080 при выполнении логина frontend вызовет http://localhost:8080/login Запустите FRONT снова: npm run serve. Изменённый url сохранится для следующих запусков. По умолчанию FRONT запускается на порту 8080 и доступен по url в браузере http://localhost:8080. Если порт 8080 занят, FRONT займёт следующий доступный (8081). После выполнения npm run serve в терминале вы увидите, на каком порту он запустился. Авторизация приложения FRONT-приложение использует header auth-token, в котором отправляет токен (ключ-строка) для идентификации пользователя на BACKEND. Для получения токена нужно пройти авторизацию на BACKEND и отправить на метод /login логин и пароль. В случае успешной проверки в ответ BACKEND должен вернуть json-объект с полем auth-token и значением токена. Все дальейшие запросы с FRONTEND, кроме метода /login, отправляются с этим header. Для выхода из приложения нужно вызвать метод BACKEND /logout, который удалит/деактивирует токен. Последующие запросы с этим токеном будут не авторизованы и вернут код 401. Обратите внимание, что название самого параметра (как и всех параметров в спецификации), его регистр имеют значение. Важно, чтобы ваш backend возвращал токен в поле auth-token – если поле будет называться authToken или authtoken, фронт не сможет найти токен и дальше логина процесс не пройдёт. Настройка CORS Чтобы FRONT смог обратиться к вашему серверу, необходимо настроить CORS в вашем приложении. Например, можно сделать это, добавив конфигурацию: импорт организации.springframework.контекст.аннотация.Настройка; импортируйте org.springframework.web.сервлет.конфигурацию.аннотацию.CorsRegistry; импортируйте org.springframework.web.сервлет.конфигурацию.аннотацию.EnableWebMvc; импортируйте org.springframework.web.сервлет.конфигурацию.аннотацию.WebMvcConfigurer;@Конфигурация @EnableWebMvc класс WebConfig реализует WebMvcConfigurer { @Переопределить публичную недействительность addCorsMappings(CorsRegistry реестра) { реестр.отображение(“/ **“) .Разрешенные значения(истина) .Разрешенные исходные данные(“http://localhost:8081 “) .Разрешенные методы(“*“); } } где адрес в параметре allowedOrigins – это адрес фронта. Дополнительные рекомендации Это итоговый проект, где вы будете использовать все полученные вами знания не только в написании кода, но и в поиске информации, в траблшутинге и т.д. Используйте все доступные вам инструменты, чтобы решить возникающие проблемы: Используйте консоль разработчика в браузере, вкладка Network. Она позволит вам увидеть, какой запрос отправляет фронт, какие параметры и url он использует, какой ответ он получает. Используйте дебаг в IDEA, чтобы увидеть весь процесс обработки запроса вашим приложением. Используйте интернет для поиска.
Похожие заказы
Разработка на Java
дистанционно
договорная
Нужен прогер кто может Код на java - его вычисления перенести на библиотеку cudo. Пожелания и особенности: Нужен прогер кто может Код на java - его вычисления перенести на библиотеку cudo.
Санкт-Петербург
Фрилансеры
2024-04-24
Подробнее
Разработка на Java
дистанционно
договорная
Программное обеспечение для вендингового аппарата сахарной ваты. Есть китайское на аппарате, я хочу прошить, чтобы доступ и управление по было у меня.
Санкт-Петербург
Фрилансеры
2024-04-16
Подробнее
Разработка на Java
дистанционно
договорная
Онлайн. Нужно проверить написанный код алгоритма на Java. Ввод данных и расчет согласно алгоритма работает корректно. Помочь исправить вывод результата в виде графики (точки и геом. фигуры на координатной плоскости. Данная часть пока не работает корректно. Найденные ошибки прокомментировать.
Санкт-Петербург
Фрилансеры
2024-04-10
Подробнее
Разработка на Java
дистанционно
договорная
Навык решения задач на логику с помощью ЯП Java.
Санкт-Петербург
Фрилансеры
2023-11-01
Подробнее