Этот проект представляет собой web-сервер с REST API, написанный на языке программирования C++ с использованием библиотеки libhv.
-
Добавление пользователя
- Метод: POST
- Путь: /user
- Тело запроса: JSON
- Описание: Добавляет пользователя в систему.
-
Получение данных выбранного пользователя
- Метод: GET
- Путь: /user/{userId}
- Тело ответа: JSON
- Описание: Возвращает данные выбранного пользователя по его идентификатору.
-
Получение списка пользователей
- Метод: GET
- Путь: /users
- Тело ответа: JSON
- Описание: Возвращает список всех пользователей.
-
Удаление пользователя
- Метод: DELETE
- Путь: /user/{userId}
- Тело ответа: Пустое
- Описание: Удаляет пользователя из системы по его идентификатору.
-
Редактирование данных пользователя
- Метод: PUT
- Путь: /user/{userId}
- Тело ответа: Пустое
- Описание: Редактирует данные пользователя по его идентификатору.
-
Получение данных о погоде
- Метод: GET
- Путь: /weather
- Тело ответа: JSON
- Описание: Возвращает информацию о погоде.
-
Склонируйте репозиторий:
git clone <URL_репозитория>
-
Перейдите в
server/build
иclient/build
(создайте при необходимости): -
Соберите сервер и клиента из соответствующих папок:
cmake .. make
-
Запустите контейнеры через Docker Compose:
sudo docker compose up --build -d
-
Проверим работу сервера, запустив клиента из соответствующей папки build:
./libhv-client
-
Для завершения работы сервера введите команду:
sudo docker compose down
Меню клиента имеет следующий вид:
==== Menu ====
1. Add new user
2. Get all users
3. Get user by ID
4. Delete user by ID
5. Edit user by ID
6. Get weather
7. Exit
1. Add new user
- добавление нового пользователя;
2. Get all users
- получение данных о всех пользователях;
3. Get user by ID
- получение данных о пользователе по его идентификатору;
4. Delete user by ID
- удаление пользователя по его идентификатору; *
5. Edit user by ID
- редактироване данных пользователя по его идентификатору; *
6. Get weather
- получение погоды;
7. Exit
- выход из программы.
* - необходима авторизация (администратор может редактировать любое дело, а обычный пользователь только свое).