{"id":26506327,"url":"https://github.com/ptrvsrg/nsumedia-bot","last_synced_at":"2026-05-01T08:31:00.864Z","repository":{"id":208710215,"uuid":"722286519","full_name":"ptrvsrg/nsumedia-bot","owner":"ptrvsrg","description":"Telegram-бот, предоставляющий студентам удобный доступ к учебным материалам, организованным по специализациям, курсам, семестрам и предметам","archived":false,"fork":false,"pushed_at":"2024-01-07T11:05:35.000Z","size":4334,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-24T10:16:44.883Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://t.me/nsumedia_bot","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ptrvsrg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2023-11-22T20:25:39.000Z","updated_at":"2024-03-16T21:00:38.000Z","dependencies_parsed_at":"2025-07-06T13:40:19.346Z","dependency_job_id":"1c677914-e94b-457c-9cab-3932447f58c3","html_url":"https://github.com/ptrvsrg/nsumedia-bot","commit_stats":null,"previous_names":["ptrvsrg/nsumedia-bot"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ptrvsrg/nsumedia-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrvsrg%2Fnsumedia-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrvsrg%2Fnsumedia-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrvsrg%2Fnsumedia-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrvsrg%2Fnsumedia-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ptrvsrg","download_url":"https://codeload.github.com/ptrvsrg/nsumedia-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrvsrg%2Fnsumedia-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32490809,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-03-20T22:26:45.510Z","updated_at":"2026-05-01T08:31:00.846Z","avatar_url":"https://github.com/ptrvsrg.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NSUMedia Bot\n\n![NSUMedia Bot Logo](assets/nsumedia-bot-logo.png)\n\n\u003cp align=\"center\"\u003e\n   \u003ca href=\"https://github.com/ptrvsrg/nsumedia-bot/graphs/contributors\"\u003e\n        \u003cimg alt=\"GitHub contributors\" src=\"https://img.shields.io/github/contributors/ptrvsrg/nsumedia-bot?style=flat\u0026label=Contributors\u0026labelColor=222222\u0026color=77D4FC\"/\u003e\n   \u003c/a\u003e\n   \u003ca href=\"https://github.com/ptrvsrg/nsumedia-bot/forks\"\u003e\n        \u003cimg alt=\"GitHub forks\" src=\"https://img.shields.io/github/forks/ptrvsrg/nsumedia-bot?style=flat\u0026label=Forks\u0026labelColor=222222\u0026color=77D4FC\"/\u003e\n   \u003c/a\u003e\n   \u003ca href=\"https://github.com/ptrvsrg/nsumedia-bot/stargazers\"\u003e\n        \u003cimg alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/ptrvsrg/nsumedia-bot?style=flat\u0026label=Stars\u0026labelColor=222222\u0026color=77D4FC\"/\u003e\n   \u003c/a\u003e\n   \u003ca href=\"https://github.com/ptrvsrg/nsumedia-bot/issues\"\u003e\n        \u003cimg alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues/ptrvsrg/nsumedia-bot?style=flat\u0026label=Issues\u0026labelColor=222222\u0026color=77D4FC\"/\u003e\n   \u003c/a\u003e\n   \u003ca href=\"https://github.com/ptrvsrg/nsumedia-bot/pulls\"\u003e\n        \u003cimg alt=\"GitHub pull requests\" src=\"https://img.shields.io/github/issues-pr/ptrvsrg/nsumedia-bot?style=flat\u0026label=Pull%20Requests\u0026labelColor=222222\u0026color=77D4FC\"/\u003e\n   \u003c/a\u003e\n\u003c/p\u003e\n\nДобро пожаловать в репозиторий NSUMedia Bot! Это проект Telegram-бота, предоставляющего студентам удобный\nдоступ к учебным материалам, организованным по специализациям, курсам, семестрам и предметам\n\n## Технологии\n\n- Java 17\n- Spring Boot 3\n\n- Telegram Bot API\n\n- SQL\n- Spring Data JPA\n- PostgreSQL\n- Liquibase\n\n- Yandex Disk\n\n- Spring Mail\n- Thymeleaf\n\n- Docker Compose\n\n## Установка и настройка\n\n### Вручную\n\n1. Убедитесь, что у вас установлены Java 17 и Apache Maven;\n2. Клонируйте репозиторий на свою локальную машину;\n3. Настройте переменные среды базы данных:\n\n    + POSTGRES_USER - имя пользователя базы данных\n    + POSTGRES_PASSWORD - пароль пользователя базы данных\n    + POSTGRES_DB - имя базы данных\n    + NSUMEDIA_BOT_DB_URL - URL базы данных\n    + NSUMEDIA_BOT_DB_USERNAME - имя пользователя базы данных\n    + NSUMEDIA_BOT_DB_PASSWORD - пароль пользователя базы данных\n\n4. Настройте переменные среды почты:\n\n    + NSUMEDIA_BOT_MAIL_PROTOCOL - протокол SMTP сервера\n    + NSUMEDIA_BOT_MAIL_HOST - хост SMTP сервера\n    + NSUMEDIA_BOT_MAIL_PORT - порт SMTP сервера\n    + NSUMEDIA_BOT_MAIL_USERNAME - имя пользователя SMTP сервера\n    + NSUMEDIA_BOT_MAIL_PASSWORD - пароль пользователя SMTP сервера\n\n5. Добавьте в переменные среды API токен Яндекс Диска:\n\n    + NSUMEDIA_BOT_YANDEX_DISK_API_TOKEN - API токен Yandex Диска\n\n6. Настройте переменные среды для телеграм бота:\n\n    + NSUMEDIA_BOT_TELEGRAM_BOT_TOKEN - токен телеграм бота\n    + NSUMEDIA_BOT_TELEGRAM_BOT_NAME - имя телеграм бота\n    + NSUMEDIA_BOT_TELEGRAM_BOT_THREAD_POOL_SIZE - количество потоков, используемых ботом для обработки сообщений\n    + NSUMEDIA_BOT_TELEGRAM_BOT_CREATOR_ID - ID создателя телеграм бота\n\n7. Запустите приложение с помощью команды:\n\n   ```bash\n    mvn spring-boot:run\n   ```\n\n### Docker Compose\n\n1. Скопируйте файлы [docker-compose.yml](./docker-compose.yml) и [sample.env](./sample.env) в локальную директорию;\n2. Добавьте значения переменных среды в файл [sample.env](./sample.env) и переименуйте его в .env;\n3. Запустите контейнеры с помощью команды:\n\n   ```bash\n    sudo docker compose up -d\n   ```\n\n## Документация\n\n+ [UML диаграммы](docs/diagrams.asta)\n+ [Техническая документация](docs/NSUMedia-bot-Project.Report.pdf)\n\n## Вклад в проект\n\nЕсли вы хотите внести свой вклад в проект, вы можете следовать этим шагам:\n\n1. Создайте форк этого репозитория.\n2. Внесите необходимые изменения.\n3. Создайте pull request, описывая ваши изменения.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fptrvsrg%2Fnsumedia-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fptrvsrg%2Fnsumedia-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fptrvsrg%2Fnsumedia-bot/lists"}