https://github.com/scottyvenable/see-you-next-session-react
Mobile narrative diagnosis sim built with React and Capacitor for Android.
https://github.com/scottyvenable/see-you-next-session-react
Last synced: 20 days ago
JSON representation
Mobile narrative diagnosis sim built with React and Capacitor for Android.
- Host: GitHub
- URL: https://github.com/scottyvenable/see-you-next-session-react
- Owner: ScottyVenable
- Created: 2026-05-07T13:21:48.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-11T14:31:04.000Z (about 1 month ago)
- Last Synced: 2026-05-11T16:33:38.031Z (about 1 month ago)
- Language: TypeScript
- Size: 312 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# See You Next Session
See You Next Session is a mobile-first fictional clinical puzzle game built with React, TypeScript, Vite, and Capacitor Android.
This repository is named `see-you-next-session-react` on GitHub to avoid colliding with another repo that already uses the game title. The in-game title stays **See You Next Session**.
## What is in the current build
- Three authored consults:
- Gregory Vigil: tutorial case focused on generalized anxiety clues
- Ayla Collingwood: medium case with episodic activation and depressive contrast
- Mara Lowell: hard case built around contradiction synthesis
- Mobile-safe tap flow for text clues, visual clue collection, and end-of-session documentation
- Durable local progress for Knowledge Points, upgrades, completion state, and onboarding dismissal
- Office upgrades, scoring, handbook testing, and a developer console for local iteration
- Automated checks for content integrity, reducer behavior, persistence, and UI session flow
All handbook and case material is fictional puzzle content. It is not real clinical guidance.
## Stack
- React 19
- TypeScript
- Vite
- Vitest + Testing Library
- ESLint
- Capacitor Android
## Shared-storage runner constraint
This project lives in Android shared storage, so direct tool execution can be unreliable.
Use the provided npm scripts. They route through `scripts/internal-run.mjs`, which copies the project into a writable cache outside shared storage, installs dependencies there, and runs the requested command from that safe worktree.
The runner now uses:
- `XDG_CACHE_HOME` when set
- otherwise `~/.cache`
That makes the workflow safe for Termux-style local development and for GitHub Actions runners.
## Prerequisites
- Node.js 20+
- npm
- For Android packaging:
- Java 17
- Android SDK
- `sdkmanager` available on your path, or Android Studio installed
## Setup
```bash
npm test
npm run lint
npm run build
```
The first run will populate the cache-backed dependency/work directories used by the internal runner.
## Available scripts
```bash
npm run dev
npm run test
npm run lint
npm run build
npm run android:sync
npm run android:open
```
## Local Android packaging
1. Install Java 17 and the Android SDK.
2. Point Gradle at the SDK with one of these approaches:
- set `ANDROID_HOME`
- or create `android/local.properties` with `sdk.dir=/absolute/path/to/Android/Sdk`
3. Sync web assets into the Android project:
```bash
npm run android:sync
```
4. Build the debug APK:
```bash
cd android
./gradlew assembleDebug
```
Output:
```text
android/app/build/outputs/apk/debug/app-debug.apk
```
More detail lives in [BUILD_ANDROID.md](./BUILD_ANDROID.md).
## GitHub Actions CI
Android CI is defined at:
```text
.github/workflows/android-build.yml
```
The workflow runs:
- `npm test`
- `npm run lint`
- `npm run build`
- `npm run android:sync`
- `./gradlew assembleDebug`
Each successful run uploads the debug APK as a workflow artifact.
## Repository notes
- Default branch: `main`
- The Android project is committed in-repo
- Local screenshots should go in `screenshots/` and stay untracked