Posty - это веб-приложение для создания и управления постами и комментариями. Приложение состоит из сервера, реализованного с использованием gRPC и HTTP/REST API, и фронтенда, построенного на React.
-
Клонируйте репозиторий:
git clone <repository-url> cd vtb-api-hackathon-client
-
Установите зависимости для сервера и фронтенда.
-
Перейдите в директорию сервера:
cd posty_backend -
Установите окружение:
в .env файле
-
Запустите сервер:
docker compose up -d
Сервер будет запущен на http://localhost:8086.
Сервер предоставляет следующие эндпоинты:
POST /v1/posts- Создание постаGET /v1/posts/{id}- Получение поста по IDGET /v1/posts- Получение всех постовPOST /v1/posts/{postId}/comments- Комментирование постаGET /v1/posts/{postId}/comments- Получение всех комментариев поста
-
Перейдите в директорию фронтенда:
cd frontend -
Установите зависимости:
npm install
-
Запустите приложение:
npm start
Приложение будет доступно по адресу http://localhost:3000.
- PostList: отображает список постов.
- PostDetail: отображает детали конкретного поста и его комментарии.
- CreatePost: форма для создания нового поста.
- Header/Footer: навигация и нижний колонтитул.
- AuthCallback/LoginRedirect/RegisterRedirect: обработка аутентификации.
- Перейдите на
http://localhost:3002. - Зарегистрируйтесь или войдите в систему.
- Создавайте посты и добавляйте комментарии.
Фронтенд использует JWT токены для авторизации запросов к серверу. Токены сохраняются в localStorage и добавляются в заголовки каждого запроса.