Nexia: различия между версиями
Нет описания правки |
Нет описания правки |
||
| Строка 1: | Строка 1: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Описание || | | Описание || Веб-приложение, отслеживающее популярные посты с платформы Reddit. | ||
|- | |- | ||
| Область знаний || [[Программирование на Python, Работа с API, Веб-технологии]] | | Область знаний || [[Программирование на Python, Работа с API, Веб-технологии]] | ||
| Строка 20: | Строка 20: | ||
<div style="background-color: #ffffff; padding: 20px; border-radius: 12px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);"> | <div style="background-color: #ffffff; padding: 20px; border-radius: 12px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);"> | ||
<h3 style="color: | <h3 style="color: black;">Введение</h3> | ||
🎯 Целью данной работы является разработка веб-приложения на основе FastAPI, предназначенного для автоматического сбора, обработки и предоставления пользователю популярных постов из Reddit и актуальных новостей с Hacker News. | 🎯 Целью данной работы является разработка веб-приложения на основе FastAPI, предназначенного для автоматического сбора, обработки и предоставления пользователю популярных постов из Reddit и актуальных новостей с Hacker News. | ||
| Строка 26: | Строка 26: | ||
💡 Основная идея проекта — упростить доступ пользователей к актуальному и популярному контенту Reddit в удобном и структурированном виде. | 💡 Основная идея проекта — упростить доступ пользователей к актуальному и популярному контенту Reddit в удобном и структурированном виде. | ||
</div> | |||
<div style="background-color: #ffffff; padding: 20px; border-radius: 12px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);"> | <div style="background-color: #ffffff; padding: 20px; border-radius: 12px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);"> | ||
<h3 style="color: | <h3 style="color: black;">Задачи проекта:</h3> | ||
<ul> | <ul> | ||
<li>Изучить работу внешних API (Reddit и Hacker News).</li> | <li>Изучить работу внешних API (Reddit и Hacker News).</li> | ||
| Строка 42: | Строка 43: | ||
<div style="background-color: #ffffff; padding: 20px; border-radius: 12px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);"> | <div style="background-color: #ffffff; padding: 20px; border-radius: 12px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);"> | ||
<h3 style="color: | <h3 style="color: black;">🏗 Архитектура и блок-схема проекта</h3> | ||
<p>Архитектура построена по принципу клиент-серверной модели и включает несколько уровней:</p> | <p>Архитектура построена по принципу клиент-серверной модели и включает несколько уровней:</p> | ||
| Строка 91: | Строка 92: | ||
<div style="background-color: #ffffff; padding: 20px; border-radius: 12px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);"> | <div style="background-color: #ffffff; padding: 20px; border-radius: 12px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);"> | ||
<h3 style="color: | <h3 style="color: black;">⚙️ Логика работы приложения</h3> | ||
{{#mermaid: | {{#mermaid: | ||
flowchart TB | flowchart TB | ||
| Строка 101: | Строка 102: | ||
F --> G[Все действия логируются] | F --> G[Все действия логируются] | ||
}} | }} | ||
</div> | |||
<div style="background-color: #ffffff; padding: 20px; border-radius: 12px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);"> | |||
<h3 style="color: black;">Выводы о проделанной работе:</h3> | |||
<div style="background-color: #ffffff; padding: 20px; border-radius: 12px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);"> | |||
<h3 style="color: black;">Выводы о проделанной работе:</h3> | |||
В ходе выполнения проекта разработано веб-приложение на FastAPI, агрегирующее данные из Reddit и Hacker News. Реализованы API-эндпоинты, обработка данных и клиент-серверная архитектура. Поставленная цель достигнута, приложение успешно выполняет сбор и предоставление актуального контента. | |||
1. В процессе разработки: | |||
<ul> | |||
<li>Освоен фреймворк FastAPI для создания API.</li> | |||
<li>Реализовано взаимодействие с внешними REST API.</li> | |||
<li>Разработана клиент-серверная архитектура.</li> | |||
<li>Настроено логирование и обработка ошибок.</li> | |||
<li>Выполнено структурирование и преобразование данных.</li> | |||
</ul> | |||
2. Разработанное приложение: | |||
<ul> | |||
<li>Автоматизирует получение популярных постов и новостей.</li> | |||
<li>Предоставляет единый интерфейс доступа к данным.</li> | |||
<li>Может быть масштабировано и расширено.</li> | |||
</ul> | |||
</div> | |||
Версия от 02:42, 27 марта 2026
| Описание | Веб-приложение, отслеживающее популярные посты с платформы Reddit. |
| Область знаний | Программирование на Python, Работа с API, Веб-технологии |
| Близкие рецепту понятия | Лента, популярное, новости |
| Среды и средства для приготовления рецепта | Python, Visual studio code |
Сайт по сбору популярных статей Reddit.
Автор: Харламова Анна
Группа: АДЭУ-221
Дисциплина: Работа с API социальных сетей и визуализация данных
Статус проекта: Выполнен
Введение
🎯 Целью данной работы является разработка веб-приложения на основе FastAPI, предназначенного для автоматического сбора, обработки и предоставления пользователю популярных постов из Reddit и актуальных новостей с Hacker News. Приложение должно обеспечивать удобный доступ к агрегированному контенту через API и веб-интерфейс.
💡 Основная идея проекта — упростить доступ пользователей к актуальному и популярному контенту Reddit в удобном и структурированном виде.
Задачи проекта:
- Изучить работу внешних API (Reddit и Hacker News).
- Реализовать клиент для получения постов и комментариев с Reddit.
- Реализовать клиент для получения новостей с Hacker News.
- Создать API-эндпоинты для: получения постов, получения новостей, получения комментариев.
- Организовать обработку и структурирование данных (JSON-формат).
- Реализовать логирование работы приложения.
- Обеспечить обработку ошибок при работе с внешними сервисами.
- Подключить статические файлы для отображения пользовательского интерфейса.
🏗 Архитектура и блок-схема проекта
Архитектура построена по принципу клиент-серверной модели и включает несколько уровней:
- Реализован через статические файлы (static).
- Отображает данные пользователю.
- Отправляет HTTP-запросы к серверу.
- Обработка HTTP-запросов.
- Маршрутизация (/api/reddit, /api/news, /api/comments).
- Возврат данных в формате JSON.
- Логирование.
- RedditClient.
- NewsClient.
- Reddit API.
- Hacker News API.
- Переменные окружения (.env).
- Логирование (logging).
- HTTP-клиент (requests).
- ASGI-сервер Uvicorn.
⚙️ Логика работы приложения
Выводы о проделанной работе:
Выводы о проделанной работе:
В ходе выполнения проекта разработано веб-приложение на FastAPI, агрегирующее данные из Reddit и Hacker News. Реализованы API-эндпоинты, обработка данных и клиент-серверная архитектура. Поставленная цель достигнута, приложение успешно выполняет сбор и предоставление актуального контента.
1. В процессе разработки:
- Освоен фреймворк FastAPI для создания API.
- Реализовано взаимодействие с внешними REST API.
- Разработана клиент-серверная архитектура.
- Настроено логирование и обработка ошибок.
- Выполнено структурирование и преобразование данных.
2. Разработанное приложение:
- Автоматизирует получение популярных постов и новостей.
- Предоставляет единый интерфейс доступа к данным.
- Может быть масштабировано и расширено.
