{"id":20811337,"url":"https://github.com/express42/gilmore","last_synced_at":"2025-03-12T04:43:31.546Z","repository":{"id":66323618,"uuid":"99316399","full_name":"express42/gilmore","owner":"express42","description":null,"archived":false,"fork":false,"pushed_at":"2018-05-15T12:49:49.000Z","size":83,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-01-18T14:46:43.053Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","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/express42.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":"2017-08-04T07:28:33.000Z","updated_at":"2018-05-15T12:49:50.000Z","dependencies_parsed_at":"2023-02-25T08:15:17.031Z","dependency_job_id":null,"html_url":"https://github.com/express42/gilmore","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/express42%2Fgilmore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/express42%2Fgilmore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/express42%2Fgilmore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/express42%2Fgilmore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/express42","download_url":"https://codeload.github.com/express42/gilmore/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243158972,"owners_count":20245669,"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-17T20:40:20.883Z","updated_at":"2025-03-12T04:43:31.527Z","avatar_url":"https://github.com/express42.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Что это ?\n\n  Приложение для розыгрыша бесплатного [курса](https://otus.ru/lessons/7/) на дне открытых дверей.\n\n  Модули приложения работают внутри контейнеров и запускаются с помощью docker-compose\n\n\n### Использование\n```\n$ git clone https://github.com/express42/gilmore.git\n$ cd gilmore\n$ docker-compose up\n```\n  * В браузере открыть страницу с адресом localhost:5000\n  * Выбрать файл в формате csv (\"Выберите список\")\n  * Нажать \"Загрузить\"\n  * Нажать \"Разыграть\"\n  * Ждать окончания таймера\n  * Порадоваться или огорчиться\n\n### Технологии\n  * [Docker](https://www.docker.com/) - описание и создание образов с приложениями\n  * [Docker-compose](https://docs.docker.com/compose/) - описание и запуск всего проекта\n  * Docker контейнер с приложением\n    * Веб-приложение на языке Python (фреймворк  [Flask](http://flask.pocoo.org/]), Jinja-шаблоны) - веб-сервер, шаблонизатор html, взаимодействие с mongodb\n    * Веб-страница - JavaScript, ajax, html, css\n  * Контейнер с базой данных mongodb - хранение списка участников\n\n### Алгоритм\n  Выбор победителя выполняется по следующему алгоритму:\n  * Загружается список участников\n  * Выбирается случайный отрезок времени (внутри заданного промежутка)\n  * В ходе выбранного отрезка времени происходит перебор случайных чисел в пределах числа участников\n  * Скорость перебора выигрышного числа падает с течением времени в зависимости от всего времени работы алгоритмаы\n  * По истечении таймера выбирается 1 победитель\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexpress42%2Fgilmore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexpress42%2Fgilmore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexpress42%2Fgilmore/lists"}