КурсоваяИнформационные системыГод: 2024ВГУИТ: Воронежский государственный университет инженерных технологий
👁 12💼 0

Готовая курсовая: Проектирование API для сбора погоды

Загружена: 21.02.2026 05:05

Проектирование REST API для получения и хранения метеоинформации. Описаны UML-диаграммы классов и последовательностей, спроектированы сущности User/City/Weather/Forecast и реализованы CRUD-эндпойнты на Django/DRF с примерами запросов в Postman. Практическая ценность — готовый шаблон для развёртывания сервиса прогноза и интеграции с внешними погодными API.

Содержание

Оглавление
1. Теоретический блок	3
1.1. UML Диаграмма классов	3
1.2. UML Диаграмма последовательности	4
2. Практический блок	5
2.1. Спроектировать и описать несколько взаимосвязанных сущностей	5
2.2. Методы для CRUD каждой сущности	9
2.3. Сценарии покрытия CRUD каждого метода в Postman.	10
2.4. Сценарии использования методов для связывания спроектированных сущностей	17
2.5. UML Диаграмма последовательности	19
2.6. Таблица с описанием шагов	20
Вывод	21
Листинг программы	22

Подробное описание

📘 О чем эта работа

Курсовая посвящена проектированию REST API для сбора и анализа погоды. Объектом являются сущности, обеспечивающие хранение текущих метеоизмерений и прогнозов; предмет — построение структуры API, диаграмм UML и практическая реализация на Django с использованием Django REST Framework.

📚 Что внутри

Работа содержит подробное описание архитектуры и конкретную практическую реализацию:

  • UML-диаграмма классов с сущностями User, City, Weather, Forecast и их связями (many-to-many для User↔City, one-to-many для City↔Weather/Forecast).
  • UML-диаграмма последовательности, показывающая сценарии: создание города, запрос текущей погоды, обращение к внешнему API и возврат результата клиенту.
  • Полная спецификация полей моделей (id, name, country, temperature, humidity, wind_speed, timestamp, date и др.).
  • CRUD-эндпойнты и примеры запросов/ответов: /cities/, /weather/<city_id>/, /forecast/<city_id>/ и шаблоны ответов в формате JSON.
  • Листинг кода для быстрого развёртывания: команды установки (pip install django djangorestframework requests), создание проекта, модели (AbstractUser с уникальным email), сериализаторы, представления (APIView) и маршруты (urls.py).
  • Набор Postman-сценариев для тестирования CRUD-операций и связок: получение списка городов, получение текущей погоды по city_id, получение прогноза на несколько дней.
  • Таблица с описанием шагов взаимодействия клиент/сервер и вывод с практическими рекомендациями по использованию.

📊 Для кого подходит

Полезно студентам IT-специальностей (Информационные системы и технологии), преподавателям для демонстрации практики по разработке веб‑API, а также разработчикам, которые хотят быстро развернуть сервис погодных запросов и адаптировать модели под собственные источники прогнозов.

✨ Особенности

Готовый код-прообраз для проекта: модели с методами get_weather и get_forecast, сериализаторы и APIView-реализация. Включены примеры ответов (London, Paris, Moscow), сценарии Postman и инструкция по установке. Структура легко расширяема: добавление аутентификации, кэширования, интеграции с внешними провайдерами погоды и аналитики.

❓ Частые вопросы

Подойдет ли для моего ВУЗа?
Структура соответствует требованиям курсовой работы: введение, теоретический блок (UML), практическая реализация, тестирование и выводы.

Можно адаптировать?
Да. Код и модели написаны модульно: достаточно подправить поля моделей или добавить новые эндпойнты (например, агрегация по датам, фильтры по диапазону дат, интеграция с cron-сбором).

Практическое применение и внедрение

Этот проект можно использовать как шаблон для мониторинга погоды, сборов и хранения измерений в БД, построения простых аналитических отчётов (средняя температура, тренды) и предоставления API для мобильных или веб‑клиентов.