{"id":21242263,"url":"https://github.com/dennistsar/ru-sirs","last_synced_at":"2025-07-20T07:36:45.192Z","repository":{"id":61846466,"uuid":"555073105","full_name":"DennisTsar/RU-SIRS","owner":"DennisTsar","description":"A website \u0026 tool for viewing response from Rutgers SIRS class surveys.","archived":false,"fork":false,"pushed_at":"2023-03-11T05:02:32.000Z","size":17567,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T17:11:12.514Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://dennistsar.github.io/RU-SIRS/fakeindex","language":"Kotlin","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/DennisTsar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-20T22:47:56.000Z","updated_at":"2023-04-06T00:22:08.000Z","dependencies_parsed_at":"2023-02-17T01:01:27.216Z","dependency_job_id":null,"html_url":"https://github.com/DennisTsar/RU-SIRS","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/DennisTsar/RU-SIRS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DennisTsar%2FRU-SIRS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DennisTsar%2FRU-SIRS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DennisTsar%2FRU-SIRS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DennisTsar%2FRU-SIRS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DennisTsar","download_url":"https://codeload.github.com/DennisTsar/RU-SIRS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DennisTsar%2FRU-SIRS/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264652672,"owners_count":23644306,"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":[],"created_at":"2024-11-21T00:58:52.815Z","updated_at":"2025-07-10T20:31:19.006Z","avatar_url":"https://github.com/DennisTsar.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RU-SIRS\n\nA website \u0026 tool for viewing response from Rutgers SIRS class surveys. Built with 100% Kotlin.\n\nThe data comes from the [official SIRS website](https://sirs.rutgers.edu/index.php) and covers all\npublished surveys from the Spring 2014 through Spring 2022 semesters.\n\n## Technologies + Tools\n\n- [Kotlin Multiplatform](https://kotlinlang.org/docs/multiplatform.html), targeting JS and JVM\n- [Kobweb](https://github.com/varabyte/kobweb), a framework on top\n  of [Compose for Web](https://compose-web.ui.pages.jetbrains.team), for reactive web UI built entirely with Kotlin\n- [GitHub Pages](https://pages.github.com/) for hosting, with [this](https://github.com/rafgraph/spa-github-pages)\n  solution for single page apps\n- [GitHub Actions](https://github.com/features/actions) for CI/CD\n- [GoatCounter](https://www.goatcounter.com/) for privacy-friendly analytics (See live\n  analytics [here](https://ru-sirs.goatcounter.com/))\n- [Ktor](https://ktor.io/), [kotlinx.coroutines](https://github.com/Kotlin/kotlinx.coroutines),\n  and [kotlinx.serialization](https://github.com/Kotlin/kotlinx.serialization) for getting, storing, and parsing data\n- [Font Awesome](https://fontawesome.com/) for icons\n- [Balance text utility](https://github.com/adobe/balance-text) for a custom CSS property\n\n## Project Structure\n\nThe project is divided into 3 modules:\n\n- `common` - Contains shared code between the JVM and JS targets\n- `data` - Contains the JVM target, which was used to scrape and parse the data from the SIRS website\n- `site` - Contains the JS target, which is the website UI\n\nSee the individual READMEs for more details.\n\nNote that the project also contains two automated GitHub Actions:\n\n- `build_site.yml` - Builds the web project and deploys it to GitHub Pages whenever changes are pushed to the repository\n- `get_latest_instructor.yml` (in the `common` submodule) - Uses the Rutgers API to get instructor listings, updating\n  the json data files which are used by the website\n\n### Acknowledgements\n\nDesign partially inspired by [this](https://kobweb.varabyte.com/) and [this](https://www.schedru.me/).\n\nThanks to DH, TG, and TF for their advice on this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdennistsar%2Fru-sirs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdennistsar%2Fru-sirs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdennistsar%2Fru-sirs/lists"}