Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание

Posty - это веб-приложение для создания и управления постами и комментариями. Приложение состоит из сервера, реализованного с использованием gRPC и HTTP/REST API, и фронтенда, построенного на React.

Установка

  1. Клонируйте репозиторий:

    git clone <repository-url>
    cd vtb-api-hackathon-client
  2. Установите зависимости для сервера и фронтенда.

Сервер

Запуск

  1. Перейдите в директорию сервера:

    cd posty_backend
  2. Установите окружение:

в .env файле

  1. Запустите сервер:

    docker compose up -d

Сервер будет запущен на http://localhost:8086.

API

Сервер предоставляет следующие эндпоинты:

  • POST /v1/posts - Создание поста
  • GET /v1/posts/{id} - Получение поста по ID
  • GET /v1/posts - Получение всех постов
  • POST /v1/posts/{postId}/comments - Комментирование поста
  • GET /v1/posts/{postId}/comments - Получение всех комментариев поста

Фронтенд

Запуск

  1. Перейдите в директорию фронтенда:

    cd frontend
  2. Установите зависимости:

    npm install
  3. Запустите приложение:

    npm start

Приложение будет доступно по адресу http://localhost:3000.

Компоненты

  • PostList: отображает список постов.
  • PostDetail: отображает детали конкретного поста и его комментарии.
  • CreatePost: форма для создания нового поста.
  • Header/Footer: навигация и нижний колонтитул.
  • AuthCallback/LoginRedirect/RegisterRedirect: обработка аутентификации.

Использование

  1. Перейдите на http://localhost:3002.
  2. Зарегистрируйтесь или войдите в систему.
  3. Создавайте посты и добавляйте комментарии.

Авторизация

Фронтенд использует JWT токены для авторизации запросов к серверу. Токены сохраняются в localStorage и добавляются в заголовки каждого запроса.

About

Simple web application of social feed system

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages