{"id":22792885,"url":"https://github.com/quaddarv1ne/olympiad_time","last_synced_at":"2025-10-29T23:02:50.835Z","repository":{"id":259004426,"uuid":"875753675","full_name":"QuadDarv1ne/olympiad_time","owner":"QuadDarv1ne","description":"Время Олимпиад — это платформа для проведения онлайн-олимпиад, нацеленная на поддержку участников всех возрастов, позволяя регистрироваться, участвовать в конкурсах и просматривать свои результаты в режиме реального времени","archived":false,"fork":false,"pushed_at":"2025-04-13T10:46:09.000Z","size":3666,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-11T09:32:51.986Z","etag":null,"topics":["2024","analytics","api","flask","flask-api","flask-application","flask-backend","flask-login","flask-restful","flask-server","flask-sqlalchemy","flask-web","maximdupley","quadd4rv1n7","security","session","sqlalchemy","templates","url","website"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QuadDarv1ne.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":"2024-10-20T18:52:38.000Z","updated_at":"2025-04-13T10:46:13.000Z","dependencies_parsed_at":"2024-12-08T16:24:42.158Z","dependency_job_id":"3c56bce3-1383-4bd3-b9f0-1758a639f3f6","html_url":"https://github.com/QuadDarv1ne/olympiad_time","commit_stats":null,"previous_names":["quaddarv1ne/olympiad_time"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/QuadDarv1ne/olympiad_time","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuadDarv1ne%2Folympiad_time","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuadDarv1ne%2Folympiad_time/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuadDarv1ne%2Folympiad_time/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuadDarv1ne%2Folympiad_time/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QuadDarv1ne","download_url":"https://codeload.github.com/QuadDarv1ne/olympiad_time/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuadDarv1ne%2Folympiad_time/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281713535,"owners_count":26548732,"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","status":"online","status_checked_at":"2025-10-29T02:00:06.901Z","response_time":59,"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":["2024","analytics","api","flask","flask-api","flask-application","flask-backend","flask-login","flask-restful","flask-server","flask-sqlalchemy","flask-web","maximdupley","quadd4rv1n7","security","session","sqlalchemy","templates","url","website"],"created_at":"2024-12-12T03:17:03.509Z","updated_at":"2025-10-29T23:02:50.807Z","avatar_url":"https://github.com/QuadDarv1ne.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Сайт для проведения олимпиад - Время Олимпиад\n\n![всош](app/static/images/vsosh.png)\n\n![olimpiad](app/static/images/olimpiad.png)\n\n### Описание проекта\n\n**Время Олимпиад** — это платформа для проведения онлайн-олимпиад, нацеленная на поддержку участников всех возрастов, позволяя регистрироваться, участвовать в конкурсах и просматривать свои результаты в режиме реального времени.\n\nПроект построен на `Flask` и использует расширения, чтобы обеспечить удобный интерфейс, стабильную работу с базой данных и защищённую авторизацию пользователей.\n\n### Основные функции\n\n1. `Регистрация и авторизация`: Удобные формы для регистрации и входа, обеспечивающие безопасность данных и поддержку Pydantic для валидации.\n2. `Профиль пользователя`: Страница профиля для отслеживания личных данных и достижений.\n3. `Участие в олимпиадах`: Основной интерфейс для участия и подачи решений.\n4. `Отображение результатов`: Интерактивная страница с результатами, доступная пользователям после завершения олимпиады.\n5. `Обработка ошибок`: Поддержка пользовательской страницы 404, чтобы улучшить пользовательский опыт.\n\n![index](app/static/images/index.png)\n![index_3](app/static/images/index_2.png)\n\n![olimpiads](app/static/images/olimpiads.png)\n\n![auth](app/static/images/auth.png)\n![register](app/static/images/register.png)\n\n\n```\nolympiad_time/\n│\n├── app/                                        # Основная директория приложения\n│   ├── __init__.py                             # Инициализация приложения\n│   ├── forms.py                                # Формы для регистрации и авторизации пользователей\n│   ├── routes.py                               # Основные маршруты для обработки запросов\n│   ├── asgi.py                                 # Конфигурация для асинхронного сервера (ASGI)\n│   │\n│   ├── db/                                     # Папка для работы с базой данных\n│   │   ├── __init__.py                         # Инициализация модуля базы данных\n│   │   ├── models.py                           # Модели базы данных (например, для студентов, олимпиад)\n│   │   ├── utils.py                            # Вспомогательные функции для работы с базой данных\n│   │   └── database.py                         # Инициализация подключения к базе данных\n│   │\n│   ├── schemas/                                # Pydantic схемы для валидации данных\n│   │   ├── __init__.py                         # Инициализация схем\n│   │   ├── auth.py                             # Схемы для аутентификации (например, для регистрации и входа)\n│   │   └── student.py                          # Схемы для работы с данными студентов\n│   │\n│   ├── routes/                                 # Папка с маршрутами для обработки запросов\n│   │   ├── __init__.py                         # Инициализация маршрутов\n│   │   ├── auth.py                             # Маршруты для аутентификации\n│   │   └── main.py                             # Основные маршруты для работы с олимпиадами и сертификатами\n│   │\n│   ├── migrations/                             # Папка для миграций базы данных\n│   │\n│   ├── static/                                 # Статические файлы (CSS, JS, изображения)\n│   │   ├── certificates/                       # Папка для сертификатов\n│   │   │   ├── images/                         # Изображения сертификатов\n│   │   │   │   ├── certificate_completed.png   # Завершенный сертификат\n│   │   │   │   ├── certificate.png             # Шаблон сертификата\n│   │   │   │   ├── podpis_1.png                # Подпись 1\n│   │   │   │   └── podpis_2.png                # Подпись 2\n│   │   │   ├── pdf/                            # Папка для PDF-сертификатов\n│   │   │   └── word/                           # Папка для Word-сертификатов\n│   │   ├── fonts/                              # Шрифты, используемые в проекте\n│   │   │   └── OpenSans.ttf                    # Шрифт OpenSans\n│   │   ├── css/                                # CSS-стили\n│   │   │   └── styles.css                      # Основной файл стилей\n│   │   ├── js/                                 # JavaScript-файлы\n│   │   │   └── scripts.js                      # Скрипты для динамичных функций\n│   │   └── images/                             # Изображения для интерфейса\n│   │       └── trophy.png                      # Изображение трофея\n│   │\n│   └── templates/                              # HTML-шаблоны для рендеринга страниц\n│       ├── base.html                           # Основной шаблон (layout)\n│       ├── index.html                          # Главная страница\n│       ├── login.html                          # Страница входа\n│       ├── register.html                       # Страница регистрации\n│       ├── profile.html                        # Страница профиля пользователя\n│       ├── student.html                        # Страница регистрации студента\n│       ├── results.html                        # Страница отображения результатов\n│       ├── forgot_password.html                # Страница восстановления пароля\n│       ├── olympiads.html                      # Страница создания и управления олимпиадами\n│       ├── olympiads_list.html                 # Страница списка олимпиад\n│       ├── register_olympiad.html              # Страница регистрации олимпиады\n│       ├── certificate.html                    # Страница генерации сертификатов\n│       ├── edit_profile.html                   # Страница редактирования профиля\n│       └── 404.html                            # Страница ошибки 404\n│\n├── instance/                                   # Директория для секретных данных (например, база данных)\n│   └── olympiad_time.db                        # Основная база данных проекта\n│\n├── config.py                                   # Конфигурация приложения\n├── create_db.py                                # Скрипт для создания базы данных\n├── LICENCE                                     # Лицензия проекта\n├── .env                                        # Конфигурация окружения\n├── .gitignore                                  # Список игнорируемых файлов для Git\n├── run.py                                      # Точка входа для запуска приложения\n└── requirements.txt                            # Список зависимостей проекта\n```\n\n### Создание базы данных\n\n```cmd\npython .\\create_db.py\npython .\\populate_db.py\n```\n\n### Запуск проекта\n\n```cmd\npython run.py\nили\nflask run\n```\n\n### Работа с проектом\n\n```cmd\ngit init\ngit push origin master\n```\n\n### Генерация сертификатов\n\n![sample_certificate](sample_certificate.png)\n\n**Система поддерживает генерацию сертификатов для участников олимпиад в следующих форматах:**\n\n- `PNG`\n- `JPG`\n- `BMP`\n- `PDF`\n- `Word (DOCX)`\n\n### 📄 Лицензия\n\n[Этот проект лицензирован под лицензией MIT](LICENCE)\n\nДля получения дополнительной информации ознакомьтесь с файлом `LICENSE`\n\n**Авторы:** Дуплей Максим и Егорова Ксения\n\n**Дата:** 20.10.2024\n\n**Версия:** 1.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquaddarv1ne%2Folympiad_time","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquaddarv1ne%2Folympiad_time","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquaddarv1ne%2Folympiad_time/lists"}