Skip to content

DmitriyHoff/cursor-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cursor Server

screenshot

Real-time приложение

Описание задачи

  • Нарисовать квадрат 600х600px
  • При перемещении курсора рисовать точку под ним
  • При открытии этой же страницы в дополнительной вкладке/окне отображать кол-во подключенных пользователей
  • Все пользователи видят курсоры всех в одном квадрате
  • Созхранять логи движения курсора
  • ДОП. Логическое удаление главной записи клиента
  • ДОП. API для получения истории движения курсором клиента
  • ДОП. API для получения всех подключенных клиентов
  • ДОП. API для получения всех клиентов

Системные требования

Для работы приложения требуется:

  • Docker

Установка

Настройка сервера

Для запуска сервера необходимо:

  • перейти в папку server/
  • убедиться чтоустановлен Docker, для этого ввести команду docker -v
  • выполнить комманду docker-compose up

Настройка клиента

Дла работы клиентской части приложения необходимо:

  • открыть новый терминал
  • перейти в папку client/ и выполнить установку зависимостей коммандой npm install
  • запустить приложение коммандой npm run dev

Описание REST API

API приложения доступны по ссылке: http://localhost:3000/api

GET /api/clients

Возвращает всех клиентов в БД. Может принимать параметр online с одним из двух значений: true или false

Возможные ответы:

200 - Список всех пользователей в формате:

[
  {"id":1,"name":"client1"},
  {"id":2,"name":"client2"}
]

400 - Неправильное значение параметра

500 - Ошибка самого сервера

GET /api/logs/{id}

Возвращает все действия клиента с указанным id

Возможные ответы:

200 - Список всех действий клиента в формате:

[
  {
    "params":"null",
    "timestamp":"2023-11-18T15:12:22.672Z",
    "type":"Connect"
  },
  {
    "params":"{\"x\":594,\"y\":491}",
    "timestamp":"2023-11-18T15:12:24.950Z",
    "type":"Move"
  }
  {
    "params":"null",
    "timestamp":"2023-11-18T15:12:37.883Z",
    "type":"Disconnect"
  }
]

400 - Неправильное значение параметра

500 - Ошибка самого сервера

About

Real-time multi-cursor application

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors