Разработка на 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
дистанционно
договорная
Пожелания и особенности: На дому, у ученика или у преподавателя,но первое время только по выходным, пока не познакомимся, потом станут возможны занятия на буднях с выходом на 2 раза в неделю. Интересует java,c++, python. Ребенок гиперактивен; не усидчив в случае, когда теряется интерес, нужна индивидуальная программа и запас терпения ( без свободного плавания, методично- тема за темой) Способный. Будем обучаться в it направлении, нужна хорошая подготовка. Возможен дистанционный вариант. Пожелания и особенности: На дому, у ученика или у преподавателя,но первое время только по выходным, пока не познакомимся, потом станут возможны занятия на буднях с выходом на 2 раза в неделю. Интересует java,c++, python. Ребенок гиперактивен; не усидчив в случае, когда теряется интерес, нужна индивидуальная программа и запас терпения ( без свободного плавания, методично- тема за темой) Способный. Будем обучаться в it направлении, нужна хорошая подготовка. Возможен дистанционный вариант.
Санкт-Петербург
Фрилансеры
2025-03-16
Разработка на Java
дистанционно
договорная
Доработка сервиса для шеринга вещей на Java Необходимо доработать код, не меняя его структуры, добавить работу с базой данных в уже реализованную часть проекта (конкретно в задании). Приложение должно пройти подготовленные тесты postman.
Санкт-Петербург
Фрилансеры
2025-03-16
Разработка на Spring
дистанционно
договорная
Пожелания и особенности: Развести 4 платы по фото. Пожелания и особенности: Развести 4 платы по фото. Пожелания и особенности: Развести 4 платы по фото.
Санкт-Петербург
Фрилансеры
2025-03-12
Разработка на Java
дистанционно
договорная
Проектная деятельность в школе. Помочь ученице 10 класса написать программу На плоскости задано множество прямоугольников. Найти такую пару пересекающихся прямоугольников, что длина отрезка, проведенного от одной точки пересечения этих двух прямоугольников до другой, максимальна. Если прямоугольники имеют более двух точек пересечения, выбирать среди них такую пару, расстояние между которыми максимально. В качестве ответа: выделить эту пару прямоугольников, нарисовать отрезок между найденными точками пересечения.
Санкт-Петербург
Фрилансеры
2025-03-11
Разработка на Java
дистанционно
договорная
Пожелания и особенности: Привет! Ищу наставника для разработки сайта доставки суши на Java. Я разрабатываю сайт для доставки суши с адми-панелью и бэкендом на Java. Хочу написать весь проект самостоятельно, чтобы набраться опытом, но пака не хватает знаний в некоторых аспектах. Мне нужна помощь с код-ревью, консультации и подсказок, и парное программирование, если столкнусь с трудностями. Буду рад наставнику, который сможет направить и помочь разобраться в сложных моментах. Если у вас есть опыт и желание поделиться знаниями напишите мне.
Санкт-Петербург
Фрилансеры
2025-02-06
Разработка на Java
дистанционно
договорная
Реализовать информационную систему, используя Java EE, Managed Beans, Hibernate и JSF. В перспективе еще три подобных работы до нового года.
Санкт-Петербург
Фрилансеры
2024-09-26
Разработка на Java
дистанционно
договорная
Помощь в изучении Java в школе. написание к февралю проекта.
Санкт-Петербург
Фрилансеры
2024-09-25