Реализовать бэкенд блогового движка
Версия JDK | 11 (указать в pom.xml) |
---|---|
Система контроля версий | git |
Версия Spring Boot | 2.2.4 |
База данных | MySQL 8 или PostgreSQL 9/11 |
Сборщик проекта | Maven |
🌟 Тестирование | JUnit 4 или 5 |
Проверка вашего дипломного проекта преподавателем осуществляется в течение 7-ми дней после отправки вашего ответа, поэтому рекомендуется выполнить каждый этап максимально полно перед отправкой проекта на проверку.
Рекомендуется использовать минимум две ветки - master
и dev
. Вы ведете разработку в ветке dev
, и перед отправкой на проверку сливаете изменения в master
, ветку master
проверяет преподаватель, а вы дальше продолжаете работу в ветке dev
, ожидая ответа, и работаете над следующим этапом.
- Создать Git-репозиторий локально, также желательно использовать удаленный репозиторий на github.com (чтобы случайно не потерять результаты своей работы при форс-мажорных ситуациях).
- Создать новое Spring-приложение, аналогичное приложению
BookLibrary
, которое вы разрабатывали в рамках модуля 12:- Подключить с помощью Maven необходимые зависимости.
- Создать класс и метод
Main
, в котором должно запускаться Spring-приложение:SpringApplication.run(Main.class, args);
- Создать файл конфигурации
application.yml
- Создать в пакете
controller
классы:
DefaultController
- для обычных запросов не через API (главная страница - /, в частности)ApiPostController
- обрабатывает все запросы/api/post/*
ApiAuthController
- обрабатывает все запросы/api/auth/*
ApiGeneralController
- для прочих запросов к API.
- Подключить к приложению frontend, разместив содержимое архива
dist.zip
в подпапках папкиresources
- аналогично тому, как это сделано в проектеBookLibrary
: CSS- и JS-файлы, а также изображения в папках/resources/static/css
,/resources/static/js
и/resources/static/img
соответственно, а файлindex.html
- в папке/resources/templates/
. - Сделать так, чтобы при входе на главную страницу открывался шаблон
index.html
(аналогично тому, как это сделано в проектеBookLibrary
). - На этом этапе необходимо слить изменения в ветку master и отправить на проверку преподавателю.
- Создать структуру базы данных с помощью сущностей Hibernate в пакете
model
, по примеру проектаBookLibrary
. Структура базы данных описана в файле DB_schema. - На этом этапе необходимо слить изменения в ветку master и отправить на проверку.
- Реализовать сначала методы API для получения информации о блоге (
/api/init
) и для получения постов (/api/post
), а затем и все остальные методы API в соответствии с документацией в файле API. Для ускорения разработки приложения вы можете тестировать API с помощью таких сервисов как Talend API Tester - Free Edition (расширение для браузера Google Chrome) или приложение Postman (Win / Mac OS / Linux). - Сделать так, чтобы при открытии вашего приложения по ссылкам (например,
/post/534/
) тоже выдавался файлindex.html
. Frontend-приложение при этом само определит, какую информацию нужно загрузить. В случае, если запрошена страница по адресу, который не существует (например, какой-нибудь/fhdsjfhkjsdf/
), переадресовывать на страницу/404/
, на которой выдавать всё ту же страницуindex.html
с кодом ответа404
. Frontend-приложение автоматически определит, по какому адресу был запрос, и отобразит ошибку 404.
Добавьте readme.md файл в корень репозитория, в котором:
- опишите проект
- стек используемых технологий
- краткую инструкция как запустить локально (команды, действия, какие переменные среды обязательно требуется задать)
- ссылку на рабочий проект (на деплой хероку)
Для написания красивого и понятного readme.md вам поможет руководство Как написать красивый и информативный README.md