{"id":19785060,"url":"https://github.com/cyscomvit/opensrc-website","last_synced_at":"2026-02-27T19:42:24.117Z","repository":{"id":216790565,"uuid":"742360984","full_name":"cyscomvit/opensrc-website","owner":"cyscomvit","description":"CYSCOM VIT's leaderboard","archived":false,"fork":false,"pushed_at":"2025-02-23T09:16:05.000Z","size":10040,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-19T14:22:27.828Z","etag":null,"topics":["cyscom","cyscomvit","docker","firebase","flask","jinja2","python"],"latest_commit_sha":null,"homepage":"https://opensrc.cyscomvit.com","language":"CSS","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/cyscomvit.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-01-12T09:56:04.000Z","updated_at":"2025-02-23T09:16:08.000Z","dependencies_parsed_at":"2025-01-11T03:18:05.031Z","dependency_job_id":"f216f906-ed4f-4767-88b3-57d278bd52ba","html_url":"https://github.com/cyscomvit/opensrc-website","commit_stats":null,"previous_names":["cyscomvit/opensrc-website"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cyscomvit/opensrc-website","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyscomvit%2Fopensrc-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyscomvit%2Fopensrc-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyscomvit%2Fopensrc-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyscomvit%2Fopensrc-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyscomvit","download_url":"https://codeload.github.com/cyscomvit/opensrc-website/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyscomvit%2Fopensrc-website/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29910909,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"ssl_error","status_checked_at":"2026-02-27T19:37:41.463Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cyscom","cyscomvit","docker","firebase","flask","jinja2","python"],"created_at":"2024-11-12T06:13:25.218Z","updated_at":"2026-02-27T19:42:24.098Z","avatar_url":"https://github.com/cyscomvit.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# opensrc-website\n\nCYSCOM VIT's leaderboard hosted [here](https://opensrc.cyscomvit.com)\n\n# Setup\n\n### . Place a `.env` file\n\nFormat of `.env` file to be placed [here](./.env)\n\n```env\nSTART_ACT=3\nEND_ACT=6\nCURRENT_ACT_YEAR=2024\nFIREBASE_DB=https://project-id-full-name.firebaseio.com\nFIREBASE_STORAGE=something.appspot.com\nDEBUG=FALSE\n```\n\n1. Start act - The number of the act to start from when displaying the leaderboard.\n2. END act - current act number in the database\n3. Current act year - field just used to show the year beside the name of the acts in the dropdown\n4. Firebase DB url `str`\n5. Firebase storage url `str`\n6. DEBUG True or False `bool`. Sets the command prefix to !cyscom-dev to differentiate from production deployement and for testing.\n\n### 2. Run using docker\n\n```sh\ndocker build -t cyscomvit/opensrc-website:latest .\ndocker run --detach --publish 5000:5000 --name opensrc-website-deploy cyscomvit/opensrc-website:latest\n```\n\n# Development\n\nThe project uses [Poetry](https://python-poetry.org/) to manage dependencies.\n\n\u003cdetails\u003e\n\u003csummary\u003eWhy?\u003c/summary\u003e\n\u003cbr\u003e\nPoetry helps manage virtual environments easily.\n\nIt also pins versions of both dependencies and their dependencies recursively, unlike Pip. This means every package has an exact version and hash to check and download against.\n\nWith dependencies like `discord.py`, it became an issue since it's dependencies were not pinned and pip was installing the latest version, leading to many issues.\n\u003cbr\u003e\n\n\u003c/details\u003e\n\n1.  Download `poetry` using Pip, or by following any of the other methods listed on their [website](https://python-poetry.org/docs/#installation)\n\n```sh\npip install poetry\n```\n\n2. Create a virtual env and install all dependencies using poetry.\n\n```sh\npoetry install\n```\n\n    This will create and activate a virtual env. It will also install all dependencies from the poetry.lock file.\n\nTo add new dependencies:\n\n```sh\npoetry add package-name\n```\n\nUpdate it in the `requirements.txt` (**USING POETRY COMMANDS, DON'T EDIT IT MANUALLY**) file too. Even though we use poetry, having a usable requirements.txt file might be convient for others. It is also used to build the docker image, since having poetry installed makes the image larger (smaller image better). Since the requirements.txt file is kept up-to-date, the image can use `pip` to install it, without ever downloading or installing poetry.\n\n```sh\npoetry export -f requirements.txt -o requirements.txt\n```\n\n**MAKE SURE YOU ADD DEPENDENCIES USING POETRY FIRST, AND DO NOT USE PIP TO INSTALL ANY PACKAGE FOR THIS PROJECT**. This ensures the package's dependencies are also pinned in the `poetry.lock` file as well.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyscomvit%2Fopensrc-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyscomvit%2Fopensrc-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyscomvit%2Fopensrc-website/lists"}