1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zhuyst-SkyBlog

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Данный проект представляет собой облегчённый блог, который объединяет чтение и управление и поддерживает только редактирование в формате Markdown.

В проекте используется архитектура с разделением на фронтэнд и бэкэнд, поэтому фронтенд-страница была развёрнута как на GitHub, так и на собственном сервере.

Для сборки и запуска проекта в целом применяется Docker, а для его запуска используется Docker Compose.

При сборке и запуске приложения были применены новые функции Docker версии 17.05: многоэтапные сборки (Use multi-stage builds), что позволило решить проблему соответствия среды требованиям при сборке.

Структура системы

skyblog.png

Быстрый старт

docker-compose up -d

Фронтенд проекта — Client Web

Проект был собран с использованием образа NodeJS, после чего результат сборки был скопирован в образ nginx. Подробности см. в файле Dockerfile в папке client_web.

Github Pages: zhuyst.github.io.

Nginx: skyblog.zhuyst.cc.

Фронтенд был создан с помощью create-react-app и использует следующие фреймворки и инструменты:

  • Маршрутизация: react-router.
  • Управление состоянием: redux.
  • Интерфейс: react-bootstrap.
  • CSS анимация: react-transition-group.
  • Рендеринг Markdown: react-markdown.
  • Редактор Markdown: react-mde.
  • Уведомления: reapop.

Бэкенд проекта — Server API

Сборка проекта была выполнена с использованием образа Maven, после чего полученный файл app.jar был скопирован в образ openjdk. Затем проект был запущен с использованием файла конфигурации docker. Подробности см. в Dockerfile в папке server_api.

Swagger: api.zhuyst.cc.

  1. Бэкенд построен на основе Spring Boot.
  2. В качестве фреймворка для постоянного слоя используется MyBatis.
  3. Swagger используется для создания онлайн-документации по API, что упрощает тестирование и разработку.
  4. Проект имеет полную документацию javadoc и прошёл проверку с помощью плагина, соответствующего стандартам кодирования Alibaba.

Бэкенд API использует Spring Security в качестве фреймворка безопасности и интегрирует JWT для генерации токенов.

Постоянное хранение данных обеспечивается MySQL, а Redis используется в качестве кэша для уменьшения нагрузки на запросы к данным.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Используя преимущества SPA, создать облегчённый блог, который объединяет чтение и управление и поддерживает только редактирование Markdown. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zhuyst-SkyBlog.git
git@api.gitlife.ru:oschina-mirror/zhuyst-SkyBlog.git
oschina-mirror
zhuyst-SkyBlog
zhuyst-SkyBlog
master