| Path | What it is |
|---|---|
scenecheck-expo/ |
Active project. Expo SDK 54 + TypeScript + React Native Web port. Cross-platform (iOS / Android / Web) per the architecture document. Run with npm start from inside. |
supabase/ |
Database migrations, Edge Functions, pgTAP tests. Backend is shared between the legacy prototype and the new Expo project. |
docs/ |
All project documentation — see below. |
legacy/ |
Archived. Original browser-based prototype (Babel-Standalone + plain JSX) from HW2 / HW3. Kept for reference / comparison. See legacy/README.md. |
assets/ |
Static assets (UI draft images) referenced by the requirements doc. |
All project documents live in the docs/ folder:
| Document | File |
|---|---|
| Progress snapshot | docs/PROGRESS_SNAPSHOT.md |
| Test plan | docs/TEST_PLAN.md |
| Test coverage report (HTML) | docs/coverage/lcov-report/index.html |
| Architecture document | docs/IN4MATX 43 Architecture Document.md |
| Requirements document | docs/IN4MATX-43-Requirements-Document.md |
| Code reviews | docs/CODE_REVIEW_REPORT.md, docs/CODE_REVIEW_REPORT_2.md, docs/CODE_REVIEW_REPORT_3.md |
| Web build review | docs/WEB_BUILD_REVIEW.md |
| User flow traces | docs/user_flow_traces.md |
The Jest coverage report is committed at docs/coverage/lcov-report/index.html. It's a standard HTML report, so open it in a web browser — it isn't meant to be read as raw text.
-
Locally (recommended): clone/pull the repo, then open the file in your default browser:
- Windows: double-click
docs\coverage\lcov-report\index.htmlin File Explorer, or runii docs\coverage\lcov-report\index.htmlin PowerShell. - macOS:
open docs/coverage/lcov-report/index.html - Linux:
xdg-open docs/coverage/lcov-report/index.html
The All files summary table loads first; click any folder or file row to drill into the line-by-line view (green = covered, red = uncovered), or sort by a column to find the least-covered files.
- Windows: double-click
-
On GitHub: GitHub does not render committed HTML — clicking the file just shows its raw source. To view it rendered without cloning, paste the file's GitHub URL into htmlpreview.github.io.
Just want the numbers? The headline percentages and the "what's deliberately not covered" notes are in docs/TEST_PLAN.md §2.5 — no browser needed.
Regenerate the report: cd scenecheck-expo && npm run test:coverage -- --coverageDirectory=../docs/coverage
📱 Running on a phone? Install the free Expo Go app on your iOS or Android device (App Store / Google Play). Then run
npm startand scan the QR code with Expo Go (iOS: the Camera app; Android: the Expo Go app) to open SceneCheck on your device. No build step needed. For web, just pressw.
cd scenecheck-expo
npm install
npm start # interactive — press w for web, or scan the QR with Expo Go for iOS/Android
npm testcd legacy
npm install
npm run dev # serves on http://localhost:5173
npm test # original prototype testsThis file documents all team meetings. Update after every meeting.
Type: In-person
Attendees:
| Name | Participation |
|---|---|
| David Plehn | In-person / Virtual / Slack / Email |
| Shrujan Sriram | In-person / Virtual / Slack / Email |
| Kyle He | In-person / Virtual / Slack / Email |
| Duy Tran | In-person / Virtual / Slack / Email |
| Kaylee Quinn | In-person / Virtual / Slack / Email |
Summary:
We discussed what features we thought would be useful and appropriate to build for our version of the friend finder project. We came up with 11 key features:
- Users can subscribe to multiple interests
- Users can have open-ended interests
- Users have a profile
- Add connections with other users
- Limits on location sharing - default is None
- Meet Up Events (Can choose what date range to be shown)
- Block Users
- Group Chat Creation
- Creating an account (minimum age 18)
- Search for specific users to connect (e.g. friends)
- Notification whenever someone else with the same interest is near
Action Items:
- Mock-Up UI — assigned to @Kyle He — due N/A
- Meeting Summary — assigned to @David Plehn — due 4/17/26
Type: Virtual
Attendees:
| Name | Participation |
|---|---|
| David Plehn | In-person / Virtual / Slack / Email |
| Kyle He | In-person / Virtual / Slack / Email |
| Duy Tran | In-person / Virtual / Slack / Email |
| Kaylee Quinn | In-person / Virtual / Slack / Email |
Summary:
We finalized what the niche for our app would be which is events, and did more brainstorming on features for how users should interact with the map, events, other users, etc. Here are some of our ideas:
- Select a radius (ie 10 miles) or select a city
- Events shown: your selected interests (loosely matches your interests)
- Subscribe/Register to event you are interested in
- Once subscribed, have the option to join a groupchat with everyone else subscribed to that event
- Event coordinator has ability to send announcement to subscribers
- During/after event, you can meet people there and add them as a friend
- Users who are friends can follow each other's events they attend/attended, create a chat, share events
- After subscribing to an interest you get notified of an event of that type’s creation within your radius
- After subscribing to an organization you get notified of any events created by them
- App made events
- Web scraper to auto make events, assigned with tags
- User made events, assigned with tags
- If doesnt get enough subscribers within __, cancel event
- Event is made if __ users initially subscribe to it
- User making event can see extra info:
- What city hosts what types of events
- What specific location hosts what events
- Users have ability to rate events after
Action Items:
- Update Functional Requirements — assigned to @Kyle He — due 4/29/26
- Make User Flows — assigned to @Kaylee Quinn, @David Plehn, @Duy Tran, @Kyle He — due 4/29/26
- Meeting Summary — assigned to @David Plehn — due 4/27/26
- Write Pros/Cons and Ethic Concerns — assigned to @Kaylee Quinn, @David Plehn, @Duy Tran, @Kyle He, @Shrujan Sriram — due 4/29/26
Type: In-person
Attendees:
| Name | Participation |
|---|---|
| David Plehn | In-person / Virtual / Slack / Email |
| Shrujan Sriram | In-person / Virtual / Slack / Email |
| Kyle He | In-person / Virtual / Slack / Email |
| Duy Tran | In-person / Virtual / Slack / Email |
| Kaylee Quinn | In-person / Virtual / Slack / Email |
Summary:
We discussed architecture decisions about what backend we should use and how to merge that with the frontend. We decided on using Supabase for the backend (as it simplifies our database/backend integration as well as ease of connection with external services) and use JavaScript with React for the frontend. Additionally, we discussed general design decisions with the prototype and refined the event creation process to include a limit on when a user created event is shown to people outside of its tagged interests, the ability to select if a created event is from a user or an organization.
Action Items:
- Meeting Summary — assigned to @David Plehn — due 5/8/26
- Write Architecture Document — assigned to @Kaylee Quinn, @David Plehn, @Duy Tran, @Kyle He, @Shrujan Sriram — due 5/14/26
Type: In-person
Attendees:
| Name | Participation |
|---|---|
| David Plehn | In-person / Virtual / Slack / Email |
| Shrujan Sriram | In-person / Virtual / Slack / Email |
| Kyle He | In-person / Virtual / Slack / Email |
| Duy Tran | In-person / Virtual / Slack / Email |
| Kaylee Quinn | In-person / Virtual / Slack / Email |
Summary:
We discussed how David Plehn should do the programming as he has access to claude code and the group would collaborativly give edits and bugs to be added or fixed to him and he would make the appropriate changes. We decided to have everyone go over the requirements and architecture document again to refresh what features and functionality we wanted and how the architecture would reflect that.
Action Items:
- Meeting Summary — assigned to @David Plehn — due 5/8/26
- Port Over Prototype — assigned to @David Plehn — due 5/20/26
- Review Requirements and Architecture Document — assigned to @Kaylee Quinn, @David Plehn, @Duy Tran, @Kyle He, @Shrujan Sriram — due 5/20/26
Type: In-person
Attendees:
| Name | Participation |
|---|---|
| David Plehn | In-person / Virtual / Slack / Email |
| Shrujan Sriram | In-person / Virtual / Slack / Email |
| Kyle He | In-person / Virtual / Slack / Email |
| Duy Tran | In-person / Virtual / Slack / Email |
| Kaylee Quinn | In-person / Virtual / Slack / Email |
Summary:
We had a group update on the current state of the project, what features were implemented, how they were implemented, and what has not yet been developed. Reports were given both from David's end in a White Box testing format and from group members in a more Black Box fashion which allowed for deep testing on both fronts.
Action Items:
- Meeting Summary — assigned to @David Plehn — due 5/30/26
- Fix Issues Found From Testing — assigned to @David Plehn — due 5/31/26
- Test App and Identify Issues — assigned to @Kaylee Quinn, @David Plehn, @Duy Tran, @Kyle He, @Shrujan Sriram — due 5/31/26
Type:
Attendees:
| Name | Participation |
|---|---|
| [Name] | In-person / Virtual / Slack / Email |
| [Name] | In-person / Virtual / Slack / Email |
Summary:
Action Items:
- [Task] — assigned to @[person] — due [date]
- [Task] — assigned to @[person] — due [date]