{"id":20536530,"url":"https://github.com/stuypulse/attendance-scanner","last_synced_at":"2025-07-19T01:04:51.760Z","repository":{"id":25936185,"uuid":"29377580","full_name":"StuyPulse/attendance-scanner","owner":"StuyPulse","description":"Scanner used to take attendance for the team.","archived":false,"fork":false,"pushed_at":"2021-07-28T10:38:55.000Z","size":146,"stargazers_count":4,"open_issues_count":9,"forks_count":0,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-08T22:23:46.827Z","etag":null,"topics":["attendance","tooling"],"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/StuyPulse.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":"2015-01-17T02:46:44.000Z","updated_at":"2022-12-31T20:10:30.000Z","dependencies_parsed_at":"2022-08-03T02:30:14.232Z","dependency_job_id":null,"html_url":"https://github.com/StuyPulse/attendance-scanner","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/StuyPulse/attendance-scanner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StuyPulse%2Fattendance-scanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StuyPulse%2Fattendance-scanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StuyPulse%2Fattendance-scanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StuyPulse%2Fattendance-scanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StuyPulse","download_url":"https://codeload.github.com/StuyPulse/attendance-scanner/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StuyPulse%2Fattendance-scanner/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265866309,"owners_count":23840939,"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":["attendance","tooling"],"created_at":"2024-11-16T00:36:59.498Z","updated_at":"2025-07-19T01:04:51.733Z","avatar_url":"https://github.com/StuyPulse.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Updating the Contact Form and Students listed in Attendance\n\nTo add new students to the attendance scanner, you must..\n1) Get the URL of the CSV contact form. Instead of /edit at the end of the link, replace it with /export?format=csv\n2) Sign into [https://stuypulse-attendance.appspot.com/admin/settings](https://stuypulse-attendance.appspot.com/admin/settings).\n3) Replace the URL with the URL found at Step 1.\n\n# Attendance ID Scanner\n\nRun the scanner by executing `./scanner.sh`\n\nAn optional `--offline` flag can be passed to the scanner to run it without an Internet connection.\n\nAlternatively, an experimental Python version of the scanner is available (`scanner.py`) with the same features.\n\n## Setting up a local development environment\n#### Installing the SDK\n1) Download and install the [Google App Engine SDK for Python](https://cloud.google.com/appengine/docs/standard/python/download)\n#### Install dependencies\n1) Install python-pip with `sudo apt-get install python-pip`\n2) Install all dependencies by running `mkdir google-appengine/libs; pip install -t google-appengine/libs -r google-appengine/requirements.txt`\n#### Running the development web server\n1) You will need a google web service client account, follow the instructions here: [Create a Google Service account](https://cloud.google.com/docs/authentication/getting-started)\n2) Set your environment variables, and set up your testing environment with this template: [Template](https://gist.github.com/vs2961/f0679ce6f9d1f38ef6e75c42acc726a2)\n3) Run the above file once you set up everything\n4) Go to [localhost:5000](http://localhost:5000) in a browser\n#### Configure the scanner\n1) Open `scanner.sh` and change the line `SERVER_ADDR=https://stuypulse-attendance.appspot.com/` to `SERVER_ADDR=localhost:8080`\n2) For the experimental Python version, change the contents of the `SERVER_ADDRESS` variable to `localhost:8080`\n#### Create an administrator\nVisit `localhost:5000/admin/create_admin` to create an administrator\n#### Deploying to Google App Engine\n1) Run `gcloud config set project stuypulse-attendance`\n2) Run `gcloud app deploy`\n#### Automatic Email Not Working\nIt may be possible that less secure apps got turned on for our automatic gmail account. Please contact the web developers to turn it back off.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuypulse%2Fattendance-scanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstuypulse%2Fattendance-scanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuypulse%2Fattendance-scanner/lists"}