{"id":22191911,"url":"https://github.com/samhaque/uofthacks-seminar-2021","last_synced_at":"2026-07-03T23:31:16.127Z","repository":{"id":54394615,"uuid":"340708119","full_name":"samhaque/UofTHacks-Seminar-2021","owner":"samhaque","description":null,"archived":false,"fork":false,"pushed_at":"2021-02-21T00:41:39.000Z","size":145,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-26T12:38:26.678Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/samhaque.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}},"created_at":"2021-02-20T17:08:06.000Z","updated_at":"2021-02-26T15:53:43.000Z","dependencies_parsed_at":"2022-08-13T14:20:39.225Z","dependency_job_id":null,"html_url":"https://github.com/samhaque/UofTHacks-Seminar-2021","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/samhaque/UofTHacks-Seminar-2021","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samhaque%2FUofTHacks-Seminar-2021","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samhaque%2FUofTHacks-Seminar-2021/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samhaque%2FUofTHacks-Seminar-2021/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samhaque%2FUofTHacks-Seminar-2021/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samhaque","download_url":"https://codeload.github.com/samhaque/UofTHacks-Seminar-2021/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samhaque%2FUofTHacks-Seminar-2021/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35105482,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-03T02:00:05.635Z","response_time":110,"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":"2024-12-02T12:18:20.792Z","updated_at":"2026-07-03T23:31:16.108Z","avatar_url":"https://github.com/samhaque.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Pre-Work\n1. [Sign up for Heroku](https://www.heroku.com/home) (billing information NOT required for Free plan)\n2. [Have a Github account](https://github.com/join)\n3. [Git installed](https://git-scm.com/)\n4. [SSH keys configured for your account](https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh)\n5. [Docker installed](https://docs.docker.com/get-docker/)\n6. [Install the heroku CLI](https://devcenter.heroku.com/articles/heroku-cli#download-and-install)\n\n## Installation\n1. Download and install latest version of Python for your operating system: [Here](https://www.python.org/downloads/)\n2. Clone this project:\n   ```\n   git@github.com:samhaque/UofTHacks-Seminar-2021.git\n   ```\n3. Create a python virtual environment and install all the dependencies\n   \n   ### Windows\n   ```\n   python -m venv venv\n   .\\venv\\Scripts\\activate\n   pip install -r requirements.txt\n   ```\n   ### Mac/Linux\n   ```\n   python3 -m venv venv\n   source ./venv/bin/activate\n   pip install -r requirements.txt\n   ```\n4. Run the app:\n   ```\n   uvicorn app.main:app --reload\n   ```\n5. Test the app:\n   ```\n   pytest test/test.py\n   ```\n   \n## Build\n1. Build the docker image:\n   ```\n   $ docker build -t uofthacks-2021-api .\n   ```\n2. Run and test the docker image:\n   ```\n   docker run --rm -it -p 8000:8000 uofthacks-2021-api\n   ```\n\n## Deploy to Heroku\n[Docs](https://devcenter.heroku.com/articles/container-registry-and-runtime)\n\n1. Go to the [Heroku Dashboard](https://dashboard.heroku.com/apps/)\n2. [Onboard your new app](https://dashboard.heroku.com/new-app) by giving it a name and assign it\nthe region closest to you, and declaring a staging pipeline.![img.png](.github/assets/deploy-heroku-2.png)\n3. Run the following command on your terminal where the [Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli#download-and-install) is installed.\n   ``` \n   heroku stack:set container -a uofthacks-2021-app\n   ```\n   which will ask you to sign in and output the following message once completed:\n   ![img.png](.github/assets/deploy-heroku-3.png)\n   \n4. Go to the [Heroku deployment pipeline dashboard](https://dashboard.heroku.com/apps/uofthacks-2021-app/deploy/github):\n   \n   Connect your Github account by clicking on the Github button beside `Deployment method`\n   \n   ![img.png](.github/assets/deploy-heroku-4.png)\n   \n5. `[OPTIONAL]` Create a `release` branch in your repository, and it will show up under the dropdown\nbeside `Automatic deploys`:\n   ``` \n   git branch release\n   git push --set-upstream origin release\n   ```\n6. If you did the optional step, all you have to do is make a [pull request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests)\nto the `release` branch, and once approved and merged, the build will take place. Very much like what happens on the day to day as a developer.\n   \n7. If you didn't do the `[OPTIONAL]` step then you can manually push it to Heroku either using the UI or using the [Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli#download-and-install)\n   ![img.png](.github/assets/deploy-heroku-7.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamhaque%2Fuofthacks-seminar-2021","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamhaque%2Fuofthacks-seminar-2021","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamhaque%2Fuofthacks-seminar-2021/lists"}