Skip to content

Commit f9f4c9a

Browse files
committed
housekeeping
1 parent a21bbc4 commit f9f4c9a

File tree

6 files changed

+106
-0
lines changed

6 files changed

+106
-0
lines changed

.github/workflows/release.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v4
16+
17+
- name: Get version from tag
18+
id: version
19+
run: echo "tag=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT"
20+
21+
- name: Build zip
22+
run: zip "scfs-chrome-${{ steps.version.outputs.tag }}.zip" manifest.json content.js styles.css
23+
24+
- name: Create GitHub Release
25+
uses: softprops/action-gh-release@v2
26+
with:
27+
files: "scfs-chrome-${{ steps.version.outputs.tag }}.zip"
28+
generate_release_notes: true

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
scfs-chrome-v*.zip

Makefile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
VERSION := $(shell python3 -c "import json; print(json.load(open('manifest.json'))['version'])")
2+
ZIP_NAME := scfs-chrome-v$(VERSION).zip
3+
DIST_FILES := manifest.json content.js styles.css
4+
5+
.PHONY: zip tag release clean
6+
7+
zip: $(ZIP_NAME)
8+
9+
$(ZIP_NAME): $(DIST_FILES)
10+
@rm -f $(ZIP_NAME)
11+
zip $(ZIP_NAME) $(DIST_FILES)
12+
@echo "Built $(ZIP_NAME)"
13+
14+
tag:
15+
git tag -a "v$(VERSION)" -m "v$(VERSION)"
16+
git push origin "v$(VERSION)"
17+
18+
release: zip tag
19+
20+
clean:
21+
rm -f scfs-chrome-v*.zip

README.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# SCFS Issue Scores — Chrome Extension
2+
3+
A Chrome extension that adds AI-powered sentiment scores to [SeeClickFix](https://seeclickfix.com) service requests for Jersey City. Each issue gets an **Interaction** score and an **Outcome** score so you can quickly see how the city is handling reports.
4+
5+
## What it does
6+
7+
**On the issues map/list view** — scores appear inline on each issue card with a progress bar and filter buttons (Negative / Positive / Unscored):
8+
9+
![Map view with inline scores](screenshots/index.png)
10+
11+
**On an individual issue page** — a banner appears at the top showing Interaction and Outcome sentiment with confidence percentages:
12+
13+
![Individual issue with score banner](screenshots/individual.png)
14+
15+
## Install from a release (recommended)
16+
17+
1. Go to the [Releases page](https://github.com/HackJerseyCity/scfs-chrome/releases) and download the latest `scfs-chrome-vX.X.zip`
18+
2. Unzip the file
19+
3. Open Chrome and go to `chrome://extensions`
20+
4. Turn on **Developer mode** (toggle in the top-right corner)
21+
5. Click **Load unpacked**
22+
6. Select the unzipped folder
23+
7. Visit [seeclickfix.com](https://seeclickfix.com/web_portal/PTzvqioTdUqpwQchKJx1dMyo/issues/map) — scores will appear automatically
24+
25+
## Install from source
26+
27+
```sh
28+
git clone https://github.com/HackJerseyCity/scfs-chrome.git
29+
cd scfs-chrome
30+
```
31+
32+
Then follow steps 3–7 above, pointing "Load unpacked" at the cloned repo directory.
33+
34+
## Updating
35+
36+
When a new release is available:
37+
38+
1. Download and unzip the new release (or `git pull` if you installed from source)
39+
2. Go to `chrome://extensions`
40+
3. Click the reload icon on the SCFS Issue Scores card
41+
42+
## How it works
43+
44+
The extension runs a content script on `seeclickfix.com` pages. It extracts issue IDs from the page, fetches sentiment scores from the SCFS API (`scfs-api.hackjc.org`), and injects the results into the page. Scores are cached per session to avoid redundant API calls.
45+
46+
## Development
47+
48+
```sh
49+
make zip # Build a distributable zip
50+
make tag # Tag the current version from manifest.json and push
51+
make release # Tag + zip (for use with GitHub Actions)
52+
```
53+
54+
## License
55+
56+
MIT

screenshots/index.png

1.92 MB
Loading

screenshots/individual.png

1.71 MB
Loading

0 commit comments

Comments
 (0)