{"id":18760545,"url":"https://github.com/evrone/bmstu_2024","last_synced_at":"2025-04-13T03:31:12.469Z","repository":{"id":246902337,"uuid":"823223118","full_name":"evrone/bmstu_2024","owner":"evrone","description":null,"archived":true,"fork":false,"pushed_at":"2024-07-28T12:38:56.000Z","size":10422,"stargazers_count":4,"open_issues_count":3,"forks_count":1,"subscribers_count":5,"default_branch":"dev","last_synced_at":"2025-04-05T18:51:39.276Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/evrone.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}},"created_at":"2024-07-02T16:04:43.000Z","updated_at":"2024-09-11T12:18:19.000Z","dependencies_parsed_at":"2024-07-14T11:40:46.167Z","dependency_job_id":"41dd61ad-bd09-44fc-9842-0a4686bd59f2","html_url":"https://github.com/evrone/bmstu_2024","commit_stats":null,"previous_names":["evrone/bmstu_2024"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evrone%2Fbmstu_2024","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evrone%2Fbmstu_2024/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evrone%2Fbmstu_2024/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evrone%2Fbmstu_2024/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evrone","download_url":"https://codeload.github.com/evrone/bmstu_2024/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248659621,"owners_count":21141149,"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":[],"created_at":"2024-11-07T18:13:07.390Z","updated_at":"2025-04-13T03:31:11.494Z","avatar_url":"https://github.com/evrone.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Where Are My Likes? 👉👈\r\n\r\nWhere Are My Likes - это сервис, помогающий пользователям отслеживать и оценивать метрики, а также находить наименее активных подписчиков.\r\n\r\nСервис разрабатывается для использования с профилями пользователей социальной сети VK.\r\n\r\n## Как работать с сервисом\r\n\r\nСценарий взаимодействия пользователя следующий:\r\n\r\n1. Пользователь аутентифицируется с использованием кнопки OneTap VK ID;\r\n2. Пользователь попадает на дэшборд, в котором видит информацию о своём профиле, подсчитанные общие метрики, список своих постов за год и метрики этих постов, список неактивных друзей;\r\n3. Пользователь может перейти к заинтересовавшему его объекту в сети VK в новой вкладке браузера;\r\n4. Пользователь может запросить обновить его метрики.\r\n\r\nДополнительно в сервисе присутствуют пользователи-администраторы, которые могут получить доступ к \"админке\" со следующими возможностями:\r\n\r\n1. Посмотреть список зарегистрированных пользователей;\r\n2. Посмотреть метрики пользователя и данные, по которым они рассчитаны;\r\n3. Доступ в админку имеют только администраторы, обычные пользователи зайти не могут;\r\n4. Если доступа к админке у пользователя нет, то при попытке в неё войти необходимо вывести ошибку 404.\r\n\r\n## Как разрабатывать сервис\r\n\r\nРазработка должна вестись в Docker-контейнерах для достижения изоляции среды исполнения и её схожести с средой в проде.\r\n\r\nПеречень основных операций с приложением представлен в Makefile, самые полезные из них:\r\n\r\n- `make setup` - сборка и конфигурация всех контейнеров, необходимых для работы приложения;\r\n- `make up` - запуск всех контейнеров и приложения;\r\n- `make deps` - обновить lock-файлы и установить зависимости локально (необходимы bundle и yarn);\r\n- `make down` - удаление контейнеров приложения;\r\n- `make clear` - удаление контейнеров/образов/волюмов/сетей и прочего, связанных с приложением;\r\n- `make ash` - запуск терминала в контейнере приложения;\r\n- `make creds` - открыть зашифрованный файл с credentials;\r\n- `make console` - запуск Rails-консоли;\r\n- `make rubocop` - запуск линтера;\r\n- `make rubocop-verbose` - запуск линтера с строгими правилами;\r\n- `make rubocopA` - запуск линтера с автокорректом;\r\n- `make db-migrate` - провести миграции;\r\n- `make db-rollback` - откатить миграцию;\r\n- `make deploy` - выполнить развертывание сервиса.\r\n\r\n## Полезные источники\r\n\r\n- [12 Factor App](https://12factor.net/) - методология разработки современных веб-приложений;\r\n- [Turbo Rails tutorial](https://www.hotrails.dev/turbo-rails) - гайд, как делать веб-приложения с динамически изменяющимися страничками, без полной перезагрузки, пользуясь всеми возможностями Rails;\r\n- [Stimulus](https://stimulus.hotwired.dev/) - JS-фреймворк в философии Rails;\r\n- [Rails Credentials](https://habr.com/ru/companies/timeweb/articles/543294/) - что такое Credentials в Rails, как ими пользоваться;\r\n- [VK API Reference](https://dev.vk.com/ru/api/overview) - справка по VK API;\r\n- [VK ID Reference](https://id.vk.com/about/business/go/docs/ru/vkid/latest/vk-id/intro/start-page) - справка по VK ID.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevrone%2Fbmstu_2024","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevrone%2Fbmstu_2024","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevrone%2Fbmstu_2024/lists"}