{"id":24341291,"url":"https://github.com/joshhn/campuslabschromeextension","last_synced_at":"2025-08-14T08:07:41.418Z","repository":{"id":157850738,"uuid":"628792044","full_name":"joshhn/campuslabsChromeExtension","owner":"joshhn","description":"A project for TigerHacks hackathon hosted by WiCS at DePauw University","archived":false,"fork":false,"pushed_at":"2025-01-13T18:21:21.000Z","size":8417,"stargazers_count":5,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T14:22:55.097Z","etag":null,"topics":["chrome-extension","cron","hackathon","javascript","poetry","python"],"latest_commit_sha":null,"homepage":"https://chromewebstore.google.com/detail/depauw-university-campusl/njeihpoaogilklckaogpdflpfgljojlf","language":"JavaScript","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/joshhn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-04-17T01:49:02.000Z","updated_at":"2024-09-26T06:59:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"f5658367-9514-49f6-ac6a-1ab662caad1e","html_url":"https://github.com/joshhn/campuslabsChromeExtension","commit_stats":null,"previous_names":["joshhn/campuslabschromeextension"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshhn%2FcampuslabsChromeExtension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshhn%2FcampuslabsChromeExtension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshhn%2FcampuslabsChromeExtension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshhn%2FcampuslabsChromeExtension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joshhn","download_url":"https://codeload.github.com/joshhn/campuslabsChromeExtension/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshhn%2FcampuslabsChromeExtension/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":257937931,"owners_count":22625278,"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":["chrome-extension","cron","hackathon","javascript","poetry","python"],"created_at":"2025-01-18T07:14:30.870Z","updated_at":"2025-06-17T09:33:14.538Z","avatar_url":"https://github.com/joshhn.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://chrome.google.com/webstore/detail/depauw-university-campusl/njeihpoaogilklckaogpdflpfgljojlf\"\u003e\u003cimg src=\"images/octotiger.png\" alt=\"CampusLabs Chrome Extension - Quick Search Upcoming Events at DePauw.\" width=\"300\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://chrome.google.com/webstore/detail/depauw-university-campusl/njeihpoaogilklckaogpdflpfgljojlf\"\u003eCampusLabs Chrome Extension\u003c/a\u003e - Quick Search Upcoming Events at DePauw.\n  \u003cbr\u003e\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/joshhn/campuslabsChromeExtention/blob/main/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"license\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://chrome.google.com/webstore/detail/depauw-university-campusl/njeihpoaogilklckaogpdflpfgljojlf\"\u003e\n    \u003cimg src=\"https://img.shields.io/chrome-web-store/v/njeihpoaogilklckaogpdflpfgljojlf.svg\" alt=\"chrome-webstore\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://chrome.google.com/webstore/detail/depauw-university-campusl/njeihpoaogilklckaogpdflpfgljojlf\"\u003e\n    \u003cimg src=\"https://img.shields.io/chrome-web-store/d/njeihpoaogilklckaogpdflpfgljojlf.svg\" alt=\"users\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/joshhn/campuslabsChromeExtention/graphs/contributors\" alt=\"Contributors\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/contributors/joshhn/campuslabsChromeExtention\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n  [![Chrome](https://user-images.githubusercontent.com/53124886/111952712-34f12300-8aee-11eb-9fdd-ad579a1eb235.png)](https://chrome.google.com/webstore/detail/depauw-university-campusl/njeihpoaogilklckaogpdflpfgljojlf)\n\u003c/div\u003e\n\n## What is CampusLabs Chrome Extension?\n\nCampusLabs Chrome Extension is a functional application that helps promote and enhance diversity and inclusion at DePauw University. We aim to improve campus climate for underrepresented groups and creating opportunities for diverse student recruitment,\nretention, and success. This project is for TigerHacks Hackathon hosted by WiCS at DePauw University.\n\n## Why CampusLabs Chrome Extension?\n\nThe CampusLabs Chrome Extension project displays DePauw campus events in an easy and accessible way and notify users daily. DePauw students won't worry to miss out interesting events and important opportunities.\n\n## How does CampusLabs Chrome Extension work?\n\nThe CampusLabs Chrome Extension project takes data from the DePauw CampusLabs website and displays upcoming events in a centralized platform. Here are current supported features:\n\n- Discover new opportunities and engage with different student groups and organizations by scrolling through the list of displayed events.\n- Events that celebrate diversity and inclusion are highlighted.\n- Users can enable daily notifications for the extension.\n- Users can add events to Google Calendars.\n- Each time a new event is updated, a small red icon next to the extension will appear.\n\n## Architecture\n\nThis repository contains code for the CampusLabs Chrome Extension written in HTML, CSS, and JavaScript and the Python Scraper script to crawl upcoming events data from CampusLabs.\n\n![image](images/architecture.png)\n\n\n# How to set up CampusLabs Chrome Extension for local development?\n\n\u003col\u003e\n  \u003cli\u003eFork this repo and clone to your local machine\u003c/li\u003e\n  \u003cli\u003eGo to \u003ca href=\"chrome://extensions\"\u003echrome://extensions\u003c/a\u003e \u003c/li\u003e\n  \u003cli\u003eEnable \u003ca href=\"https://www.mstoic.com/enable-developer-mode-in-chrome/\"\u003eDeveloper mode\u003c/a\u003e by toggling the switch on top right corner\u003c/li\u003e\n  \u003cli\u003eClick 'Load unpacked'\u003c/li\u003e\n  \u003cli\u003eSelect the entire 'campuslabsChromeExtention' folder\u003c/li\u003e\n  \u003cli\u003eFollow the below instruction to install Poetry and run scraper script\u003c/li\u003e\n\u003c/ol\u003e\n\n#### BONUS: Star ⭐ [this repository](https://github.com/joshhn/campuslabsChromeExtention) for further development of features. If you want a particular feature, simply [request](https://github.com/joshhn/campuslabsChromeExtention/labels/feature) for it!\n\n### Environment variables\n\nBefore running the scraper script, one needs to install [Poetry - A Dependency Manager](https://python-poetry.org/).\n\n### Install Poetry\n\nSee instructions [on the official website](https://python-poetry.org/docs/master/#installation) to install Poetry.\nWhen possible, it is recommended to use the same version of poetry as the one used in CI workflows. The currently selected version is 1.4.2.\n\nTo check if Poetry is already installed:\n\n```\npoetry --version\n```\n\n### Install dependencies locally\n\nOne can review added dependencies in `pyproject.toml`. To install existing dependencies:\n\n```\npoetry install\n```\n\n### Add a new dependency\n\nThe general syntax is:\n```\npoetry add \u003cdependency name\u003e\n```\n\nTo explicitly tell Poetry that a package is a development dependency, one runs `poetry add` with the `--dev` option. One can also use a shorthand `-D` option, which is the same as `--dev`:\n\n```\npoetry add \u003cdependency name\u003e -D\n```\n\n### Update a dependency\n\nFirst, review the version constraint for that dependency in `pyproject.toml`. If the dependency you want to update does not appear here, it is a transitive dependency. But if it has an equality constraint, consider changing it first or poetry will stick to the currently selected version.\n\nThen, run:\n```\npoetry update \u003cpackage1\u003e \u003cpackage2\u003e ... \u003cpackageN\u003e\n```\nwith all packages that need an update. Review its effect on `poetry.lock`. Make sure to commit the change.\n\nTo update all packages and their dependencies within their version constraints, run:\n```\npoetry update\n```\n\nNote: if there is a large change on `poetry.lock` when updating a single package, check that you are using poetry 1.1\n\n### Run the Scraper script locally in the automatically created virtual environment\n\n```\npoetry run python3 data-scraper/scraper.py\n```\n\n## Development\nThere are several Python tools used to keep this code as clean and maintainable as possible. For the CI to pass on a PR, these checks should be run locally before pushing. The easiest way to run all of the checks is with pre-commit hooks.\n\n### Set up pre-commit hooks\n\n1. Install pre-commit:\n\nTo be able to run pre-commit hooks, [pre-commit](https://pre-commit.com/) must be installed. `pre-commit` is a developer\ndependency in `pyproject.toml`. By running `poetry install` once, `pre-commit` should be installed and ready to be used\nwith `poetry run pre-commit --version`.\n\n2. Install pre-commit hooks for the repository:\n\nThe pre-commit hooks for the repo are defined in `.pre-commit-config.yml`. The hooks define tools to be run on the code\nfor linting, formatting, etc. To set up these hooks, run:\n```\npoetry run pre-commit install\n```\n\n3. Running pre-commit hooks:\n\nThe pre-commit hooks can be run against all files with:\n```\npoetry run pre-commit run -a\n```\nThe great thing about pre-commit hooks is that, once installed, they are automatically run when committing changes. If\na hook makes changes to any files it will fail the commit. The changes needed to be staged and committed again for the\nhooks to pass and for the commit to be successful.\n\nThese same pre-commit hooks are run as part of the CI.\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first\nto discuss what you would like to change.\n\n## License\n[MIT](https://github.com/joshhn/campuslabsChromeExtention/blob/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshhn%2Fcampuslabschromeextension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoshhn%2Fcampuslabschromeextension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshhn%2Fcampuslabschromeextension/lists"}