8000 GitHub - GermanS/otus-axum: axum + diesel
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

GermanS/otus-axum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Веб-сервер "Умного дома"

Цель

Научиться пользоваться веб-фреймворками Rust для создания HTTP-сервера, реализующего функционал "умного дома".


Результатом является:

HTTP-сервер "Умный дом", предоставляющий API для:

  • Управления структурой дома.
  • Добавления и удаления комнат.
  • Управления устройствами в комнатах.
  • Генерации отчетов о состоянии дома.

Описание / Пошаговая инструкция выполнения домашнего задания

Задачи:

  1. Реализовать HTTP-сервер, который предоставляет следующие возможности:

    • Управление домами: добавление, удаление, обновление.
    • Управление комнатами: добавление, удаление, список комнат.
    • Управление устройствами: добавление, удаление, изменение состояния устройства.
  2. Написать клиент, который отправляет запросы к HTTP API умного дома. Клиент должен демонстрировать:

    • Создание дома, комнат и устройств.
    • Получение данных о доме, комнатах и устройствах.
    • Обновление информации об устройствах.
  3. Создать example общения с умным домом через HTTP-клиент. Пример должен включать:

    • Добавление дома, комнат и устройств через HTTP.
    • Получение списка комнат и устройств.
    • Изменение состояния устройств.
  4. Дополнительное задание:

    • Хранить структуру дома в базе данных SQLite.
    • Все операции чтения/записи должны выполняться с помощью ORM Diesel.

🧪 Рекомендации по качеству кода

  • Используйте cargo fmt --check для проверки форматирования.
  • Используйте cargo clippy для анализа кода.
  • Реализуйте тесты для проверки API.
  • Обрабатывайте ошибки корректно, возвращая клиенту понятные сообщения.

🚀 Заключение

Этот проект поможет вам освоить:

  • Разработку RESTful API на Rust с использованием axum.
  • Работу с базами данных через ORM diesel.
  • Написание клиентского кода для взаимодействия с API.

About

axum + diesel

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0