{"id":30539051,"url":"https://github.com/viktor-shcherb/streamlit-queue","last_synced_at":"2026-04-18T19:32:52.212Z","repository":{"id":300083428,"uuid":"615057233","full_name":"viktor-shcherb/streamlit-queue","owner":"viktor-shcherb","description":"Streamlit + Google Sheets = $0 cost MVP Web project","archived":false,"fork":false,"pushed_at":"2023-03-19T11:29:43.000Z","size":19,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-28T04:22:14.894Z","etag":null,"topics":["courier","google-sheets","streamlit"],"latest_commit_sha":null,"homepage":"","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/viktor-shcherb.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":"2023-03-16T21:37:20.000Z","updated_at":"2024-01-20T19:10:08.000Z","dependencies_parsed_at":"2025-06-19T20:08:11.759Z","dependency_job_id":null,"html_url":"https://github.com/viktor-shcherb/streamlit-queue","commit_stats":null,"previous_names":["viktor-shcherb/streamlit-queue"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/viktor-shcherb/streamlit-queue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viktor-shcherb%2Fstreamlit-queue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viktor-shcherb%2Fstreamlit-queue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viktor-shcherb%2Fstreamlit-queue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viktor-shcherb%2Fstreamlit-queue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/viktor-shcherb","download_url":"https://codeload.github.com/viktor-shcherb/streamlit-queue/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viktor-shcherb%2Fstreamlit-queue/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31982680,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T17:30:12.329Z","status":"ssl_error","status_checked_at":"2026-04-18T17:29:59.069Z","response_time":103,"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":["courier","google-sheets","streamlit"],"created_at":"2025-08-27T21:24:52.727Z","updated_at":"2026-04-18T19:32:52.201Z","avatar_url":"https://github.com/viktor-shcherb.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Online queue with Streamlit, centralized Google Sheets backend and Courier notification system\n\nThis is an example of poor man's web project. Feel free to deploy it yourself or draw inspiration.\n\n## 0. Setting up the project\n\nClone the repository, setup python venv and install the requirements:\n```shell\ngit clone https://github.com/ViktorooReps/streamlit-queue.git\ncd streamlit-queue\nvirtualenv venv\nsource venv/bin/activate\npip install -r requirements.txt\n```\n\nCreate the directory for secrets:\n```shell\nmkdir .streamlit\ntouch .streamlit/secrets.toml\n```\n\n## 1. Setting up Google Sheets backend\n\nGo to Google Sheets, create new spreadsheet and add 2 worksheets:\n\n...one with accounts....\n![image](https://user-images.githubusercontent.com/56936206/226171403-8984d948-db69-4538-9958-4f90292bc972.png)\n\n...and another with the actual queue...\n![image](https://user-images.githubusercontent.com/56936206/226171454-bfff0bb6-2db8-4d32-9f44-fce2b6bd3ab7.png)\n\n\nThe bottom of your spreadsheet should look like this:\n![image](https://user-images.githubusercontent.com/56936206/226171505-7965a649-a222-467d-a0ea-3fc8b96effe0.png)\n\n\nFill in Accounts sheet with the names of the people that will use the queue, as well as their Telegram accounts (optional).\n\n\nNow go to Google Console and create new project. Then you will need to go to Service Accounts:\n![image](https://user-images.githubusercontent.com/56936206/226171751-5393c9d7-80aa-4a27-8344-61ad91130aa9.png)\n\nCreate service account, and then add a new JSON key:\n![image](https://user-images.githubusercontent.com/56936206/226171954-51888815-48aa-465d-9d32-dce4491d1672.png)\n\nNext, you will need to enable Google Sheets API. Search for it in the search bar, click on it and enable it.\n![image](https://user-images.githubusercontent.com/56936206/226172218-9a8d90af-0b93-421d-b556-741071f5ff47.png)\n\nFinally, go to your spreadsheet and add your service account with the Share button.\n\n## 2. Configuring Courier notifications\n\nTODO\n\n## 3. Deploying to streamlit\n\nTODO\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviktor-shcherb%2Fstreamlit-queue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviktor-shcherb%2Fstreamlit-queue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviktor-shcherb%2Fstreamlit-queue/lists"}