{"id":20364433,"url":"https://github.com/krazete/antscoper","last_synced_at":"2025-04-12T04:44:05.500Z","repository":{"id":87375272,"uuid":"86135094","full_name":"Krazete/antscoper","owner":"Krazete","description":"A tool for finding vacant classrooms and lecture halls in UCI.","archived":false,"fork":false,"pushed_at":"2024-04-19T03:01:34.000Z","size":3927,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"version-3","last_synced_at":"2025-03-26T00:12:56.106Z","etag":null,"topics":["appspot","classroom","schedule","uci","websoc"],"latest_commit_sha":null,"homepage":"https://antscoper.appspot.com/","language":"JavaScript","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/Krazete.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}},"created_at":"2017-03-25T05:31:46.000Z","updated_at":"2025-01-21T18:37:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"4b2d66b1-ea07-41a8-92e0-cd9a4cd8ead4","html_url":"https://github.com/Krazete/antscoper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Krazete%2Fantscoper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Krazete%2Fantscoper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Krazete%2Fantscoper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Krazete%2Fantscoper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Krazete","download_url":"https://codeload.github.com/Krazete/antscoper/tar.gz/refs/heads/version-3","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248519468,"owners_count":21117757,"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":["appspot","classroom","schedule","uci","websoc"],"created_at":"2024-11-15T00:11:49.857Z","updated_at":"2025-04-12T04:44:05.478Z","avatar_url":"https://github.com/Krazete.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Antscoper\nAntscoper is a tool for viewing the class schedule of every single classroom and lecture hall at UCI.\nIt can be used to easily find vacant classrooms to use as study rooms or theater rooms.\n\nPlease note that rooms are typically closed on weekends and holidays.\nOn days when rooms are open, they are usually open from 7am to 10pm.\nRooms are sometimes reserved (especially before exams), so be prepared to leave a vacant classroom if asked.\n\nAlso note the website doesn't consider Finals Week schedules.\nAntscoper will be inaccurate during these times.\n\n\u003cimg src=\"exclude/sample.png\"\u003e\n\n## Inner Workings\n### Map\n#### Data\nMap data is taken from the same source that [UCI's official Interactive Map](https://map.uci.edu) uses.\nAntscoper calls the CDN for data on every visit.\nIf it fails to load, Antscoper uses `geo_backup.json` instead.\n#### Display\nAntscoper displays the map via [Leaflet](https://leafletjs.com/), which the official UCI map also relies on.\nTo run a local copy of Antscoper, you must also download Leaflet and include it in the root directory.\n### Schedules\n#### Daily Updates\nRoom schedules are scraped daily from [WebSOC](https://www.reg.uci.edu/perl/WebSoc) every day at 6am.\nEvery scraping of WebSOC deletes all previously recorded schedules.\n#### Database\nAntscoper was initialized with all of WebSOC's data, meaning its database includes rooms from 1990 to now.\nThe website only shows rooms which have had some schedule in this year or the past year.\nRooms whose latest activity was two years ago or more are assumed to be presently nonexistent.\nThe entire database can be accessed from `data.json`, though this is avoided due to quota limits.\nIf the database ever fails to load, Antscoper uses `database_backup.json` instead.\n#### Legend\nThe legend displays schedules from the database.\nDue to quota limits, the legend will not activate until a query is entered in the search box.\nClicking a map popup also automatically enters a query and thus activates the legend.\nAn active legend will show schedule information for the relevant building on the selected day.\n\nA query must consist of a building's abbreviated name.\nThe full building name will likely not bring up any results.\nAll results are stored until the page is closed.\n\n## Efficiency\nThe day after announcing this project on [Reddit](https://redd.it/ag50qk), there were 178 users and 209 sessions with an average duration of 38 seconds (according to Google Analytics).\nThe screenshot below displays daily quota usage which resulted from this day.\n\n\u003cimg src=\"exclude/quota.png\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrazete%2Fantscoper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrazete%2Fantscoper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrazete%2Fantscoper/lists"}