{"id":26038829,"url":"https://github.com/leonkote/vkpostanalyzer","last_synced_at":"2026-05-06T10:32:51.604Z","repository":{"id":280838241,"uuid":"943134693","full_name":"LeonKote/VkPostAnalyzer","owner":"LeonKote","description":"Веб-приложение, которое анализирует последние 5 постов пользователя ВКонтакте.","archived":false,"fork":false,"pushed_at":"2025-03-05T15:00:41.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-05T16:20:00.426Z","etag":null,"topics":["aspnetcore","backend-development","clean-architecture","csharp","dependency-injection","efcore","oauth2","postgresql","software-engineering","solid-principles","vk-api","web-api"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LeonKote.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-05T08:16:49.000Z","updated_at":"2025-03-05T15:00:45.000Z","dependencies_parsed_at":"2025-03-05T16:20:02.869Z","dependency_job_id":null,"html_url":"https://github.com/LeonKote/VkPostAnalyzer","commit_stats":null,"previous_names":["leonkote/vkpostanalyzer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKote%2FVkPostAnalyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKote%2FVkPostAnalyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKote%2FVkPostAnalyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeonKote%2FVkPostAnalyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LeonKote","download_url":"https://codeload.github.com/LeonKote/VkPostAnalyzer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242378080,"owners_count":20118173,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aspnetcore","backend-development","clean-architecture","csharp","dependency-injection","efcore","oauth2","postgresql","software-engineering","solid-principles","vk-api","web-api"],"created_at":"2025-03-07T10:37:02.641Z","updated_at":"2026-05-06T10:32:51.572Z","avatar_url":"https://github.com/LeonKote.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VkPostAnalyzer\n\n![logo](https://i.imgur.com/YDyDETr.png)\n\n![VkPostAnalyzer](https://img.shields.io/badge/ASP.NET_Core-8.0-blue.svg) ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-17-blue.svg) ![Swagger](https://img.shields.io/badge/Swagger-UI-green.svg)\n\nVkPostAnalyzer — это веб-приложение, которое анализирует последние 5 постов пользователя ВКонтакте, подсчитывает частоту букв в текстах постов и сохраняет результаты в базу данных PostgreSQL. Взаимодействие с backend осуществляется через Swagger UI.\n\n## 📌 Функциональность\n- Авторизация через VK OAuth 2.0\n- Получение 5 последних постов пользователя VK\n- Подсчет вхождения каждой буквы (регистронезависимо)\n- Сортировка результата по алфавиту\n- Сохранение результатов анализа в базу данных PostgreSQL\n- Логирование процесса в локальный файл\n- Swagger UI для взаимодействия с API\n\n## 🛠 Технологии\n- **Backend:** ASP.NET Core 8.0, Entity Framework Core\n- **Database:** PostgreSQL\n- **Logging:** Serilog\n- **API Documentation:** Swagger\n- **VK API:** Официальный OAuth 2.0 и метод wall.get\n\n## 🚀 Запуск проекта\n\n### 1. Клонирование репозитория\n```bash\ngit clone https://github.com/yourusername/VkPostAnalyzer.git\ncd VkPostAnalyzer\n```\n\n### 2. Настройка конфигурации\nОткройте файл appsettings.json в корневой директории проекта и укажите параметры VK API и базы данных. Настройки VK API можно оставить по умолчанию, так как они предназначены для тестового приложения на localhost:\n\n```json\n{\n  \"ConnectionStrings\": {\n    \"VkPostAnalyzerDb\": \"Host=localhost;Port=5432;Database=vkpostanalyzer;Username=your_user;Password=your_password\"\n  },\n  \"Vk\": {\n    \"ClientId\": \"53190985\",\n    \"RedirectUri\": \"https://localhost/api/vk/auth/response\",\n    \"Version\": \"5.131\"\n  }\n}\n```\n\n### 3. Разворачивание базы данных PostgreSQL\nЗапустите PostgreSQL и создайте базу данных `vkpostanalyzer`.\n\n### 4. Запуск приложения\n```bash\ndotnet run\n```\n\nПосле запуска API будет доступен по адресу: `https://localhost/` (на 443 порту)\n\n**⚠️ Авторизация через OAuth 2.0 от VK для сайтов на данный момент может происходить только с переадресацией на порты 80 и 443.**\n\n### 5. Открытие Swagger UI\nSwagger UI доступен по адресу:\n```\nhttps://localhost/swagger/index.html\n```\n\n## 📌 API Эндпоинты\n\n### Авторизация\n- `GET /api/vk/auth/url` — Получение OAuth URL для VK\n- `GET /api/vk/auth/response` — Обработка ответа VK\n\n  **⚠️ Переадресация на этот эндпоинт произойдёт автоматически со страницы авторизации VK и вернёт токен доступа VK в отдельном окне.**\n\n### Анализ постов\n- `POST /api/vk/posts/analyze` — Анализ 5 последних постов\n  ```json\n  {\n    \"accessToken\": \"your_access_token\",\n    \"ownerId\": 12345678\n  }\n  ```\n  Без указания ```ownerId``` получение постов будет происходить со страницы текущего пользователя.\n\n## 📜 Логирование\nЛоги записываются в `logs/app.log` и содержат информацию о запуске и завершении анализа постов.\n\n## 📄 Лицензия\nЭтот проект распространяется под лицензией MIT.\n\n---\n_Автор: [Папушев Роман](https://github.com/LeonKote)_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonkote%2Fvkpostanalyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleonkote%2Fvkpostanalyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonkote%2Fvkpostanalyzer/lists"}