Skip to content
Merged
Show file tree
Hide file tree
Changes from 70 commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
b81edca
Init deep sea stories example
AHGIJMKLKKZNPJKQR Sep 29, 2025
d474452
Add CI
AHGIJMKLKKZNPJKQR Sep 29, 2025
0a39589
Add yarnrc
AHGIJMKLKKZNPJKQR Sep 29, 2025
4b1fb40
Update CI
AHGIJMKLKKZNPJKQR Sep 29, 2025
66b9d62
Format
AHGIJMKLKKZNPJKQR Sep 29, 2025
79c6196
Add engines to package.json
AHGIJMKLKKZNPJKQR Sep 29, 2025
0e4bca1
Use node version file
AHGIJMKLKKZNPJKQR Sep 29, 2025
4fa231b
Move typescript to root package.json
AHGIJMKLKKZNPJKQR Sep 30, 2025
a8a284a
Some backend boilerplate
AHGIJMKLKKZNPJKQR Sep 30, 2025
7208fa8
Init vite
AHGIJMKLKKZNPJKQR Sep 30, 2025
461f466
Use biome
AHGIJMKLKKZNPJKQR Sep 30, 2025
049fe43
Add build script
AHGIJMKLKKZNPJKQR Sep 30, 2025
406ea51
Format
AHGIJMKLKKZNPJKQR Sep 30, 2025
98d36d6
Setup tRPC in the backend
AHGIJMKLKKZNPJKQR Oct 1, 2025
9c22222
Add tRPC to web
AHGIJMKLKKZNPJKQR Oct 1, 2025
daf67b4
Remove redundant ignore comment
AHGIJMKLKKZNPJKQR Oct 1, 2025
f07b729
Update lock
AHGIJMKLKKZNPJKQR Oct 1, 2025
00c972f
Init theme
AHGIJMKLKKZNPJKQR Oct 1, 2025
7482924
Format and lint
AHGIJMKLKKZNPJKQR Oct 1, 2025
b4129f6
Merge pull request #2 from fishjam-cloud/trpc
AHGIJMKLKKZNPJKQR Oct 1, 2025
519a31b
Include fishjam
AHGIJMKLKKZNPJKQR Oct 1, 2025
5ed9902
Draft backend
Gawor270 Oct 1, 2025
4ba6a28
format
Gawor270 Oct 3, 2025
9db2a6b
/Agent integration left
Gawor270 Oct 3, 2025
3452cf8
lint, format
Gawor270 Oct 6, 2025
1a92cf8
elevenlabs integration
Gawor270 Oct 6, 2025
b72c516
format, lint
Gawor270 Oct 6, 2025
67c2b29
Basic UI
AHGIJMKLKKZNPJKQR Oct 7, 2025
ee80ff3
story selection api
Gawor270 Oct 7, 2025
3e357ee
extract game starting stopping to separate file
Gawor270 Oct 7, 2025
9ee5740
almost works
Gawor270 Oct 8, 2025
80526be
adjust sample rate to elevenlabs's default
Gawor270 Oct 10, 2025
c479678
apply comment suggestions
Gawor270 Oct 10, 2025
241d7dd
throw when room nonempty with no fishjam agent
Gawor270 Oct 10, 2025
0ef8e44
apply comment suggestions
Gawor270 Oct 13, 2025
f366650
fix adding peer during game logic
Gawor270 Oct 13, 2025
ec8669c
Safelist grid cols
AHGIJMKLKKZNPJKQR Oct 14, 2025
4b21f84
builting websocket, implement creating agent using elevenlabs-js
Gawor270 Oct 15, 2025
a89a63a
utilize nunjucks add interface for sessions and conversations, add id…
Gawor270 Oct 15, 2025
79f323a
add tests to CI
Gawor270 Oct 15, 2025
22b6094
use globalSetup in tests
Gawor270 Oct 17, 2025
5a5524c
format
Gawor270 Oct 17, 2025
881068f
refactor
Gawor270 Oct 17, 2025
14a7f3e
add common types package, adjust adjust format bar
Gawor270 Oct 17, 2025
5d92168
readable-slug ref
Gawor270 Oct 17, 2025
162b4a9
make sure grid is displayed correctly
Gawor270 Oct 17, 2025
31994ac
fmt
Gawor270 Oct 17, 2025
635739c
comment suggestiosn
Gawor270 Oct 17, 2025
c4f27db
make backend work again
Gawor270 Oct 17, 2025
66275b8
Merge pull request #3 from fishjam-cloud/implement-backend
Gawor270 Oct 20, 2025
a15a193
Merge branch 'deep-sea-stories' into fce-1988
Gawor270 Oct 20, 2025
535b367
scope common package
Gawor270 Oct 20, 2025
5e6b8e5
Merge pull request #4 from fishjam-cloud/fce-1988
Gawor270 Oct 20, 2025
6e4574c
choosing and starting game, agent audio working
Gawor270 Oct 21, 2025
9ead681
format, lint
Gawor270 Oct 21, 2025
d348690
format
Gawor270 Oct 21, 2025
1caf192
deployment
Gawor270 Oct 21, 2025
5a12950
correct project path
Gawor270 Oct 21, 2025
c57c600
make docker compose work
Gawor270 Oct 21, 2025
987e0b6
remove healthchecks, add nginx
Gawor270 Oct 21, 2025
683eeeb
remove healthcheck from deployment
Gawor270 Oct 21, 2025
00955e4
make backend build work
Gawor270 Oct 21, 2025
d11e9e3
remove waiting 5 seconds after deploying
Gawor270 Oct 21, 2025
8d11ed9
bump react client, apply comments
Gawor270 Oct 22, 2025
da4c693
bump react-client
Gawor270 Oct 22, 2025
9d88795
Merge pull request #6 from fishjam-cloud/fce-2152
Gawor270 Oct 22, 2025
8328507
comment suggestions
Gawor270 Oct 22, 2025
050460e
Merge pull request #5 from fishjam-cloud/fce-2103
Gawor270 Oct 22, 2025
59c8358
make sure deploy works
Gawor270 Oct 22, 2025
b091b5d
maybe now
Gawor270 Oct 22, 2025
88947e4
deploy code from main
Gawor270 Oct 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/CI.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: CI

on:
pull_request:
push:
branches: [main]

jobs:
deep-sea-stories:
runs-on: ubuntu-latest
defaults:
run:
working-directory: deep-sea-stories

steps:
- name: Checkout code
uses: actions/checkout@v5

- name: Enable corepack
run: corepack enable

- name: Set up Node.js
uses: actions/setup-node@v5
with:
node-version-file: ./deep-sea-stories/package.json
cache: yarn
cache-dependency-path: ./deep-sea-stories/yarn.lock

- name: Install dependencies
run: yarn --immutable

- name: Run format
run: yarn format:check

- name: Run lint
run: yarn lint

- name: Run backend tests
run: yarn workspace backend test
33 changes: 33 additions & 0 deletions .github/workflows/deep-sea-stories-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Deploy deep-sea-stories

on:
push:
branches: ["main", "deep-sea-stories"]

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Deploy
uses: appleboy/ssh-action@v0.1.7
with:
host: ${{ secrets.VM_HOST }}
username: ${{ secrets.VM_USERNAME }}
key: ${{ secrets.VM_SSH_KEY }}
script: |
cd ~/examples/deep-sea-stories
git switch deep-sea-stories
git pull

umask 077
cat > .env << 'EOF'

FISHJAM_ID=${{ secrets.FISHJAM_ID }}
FISHJAM_MANAGEMENT_TOKEN=${{ secrets.FISHJAM_MANAGEMENT_TOKEN }}
ELEVENLABS_API_KEY=${{ secrets.ELEVENLABS_API_KEY }}

EOF

docker compose down
docker compose up -d --build
170 changes: 170 additions & 0 deletions deep-sea-stories/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

### Node Patch ###
# Serverless Webpack directories
.webpack/

# Optional stylelint cache

# SvelteKit build / generate output
.svelte-kit

### react ###
.DS_*
**/*.backup.*
**/*.back.*

node_modules

*.sublime*

psd
thumb
sketch

### yarn ###
# https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored

.yarn/*
!.yarn/releases
!.yarn/patches
!.yarn/plugins
!.yarn/sdks
!.yarn/versions

# if you are NOT using Zero-installs, then:
# comment the following lines
!.yarn/cache

# and uncomment the following lines
# .pnp.*

1 change: 1 addition & 0 deletions deep-sea-stories/.yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
nodeLinker: node-modules
1 change: 1 addition & 0 deletions deep-sea-stories/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Deep Sea Stories Example App
35 changes: 35 additions & 0 deletions deep-sea-stories/biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"$schema": "https://biomejs.dev/schemas/2.2.4/schema.json",
"vcs": {
"enabled": false,
"clientKind": "git",
"useIgnoreFile": false
},
"files": {
"includes": ["**", "!**/dist"],
"ignoreUnknown": false
},
"formatter": {
"enabled": true,
"indentStyle": "tab"
},
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
},
"javascript": {
"formatter": {
"quoteStyle": "single"
}
},
"assist": {
"enabled": true,
"actions": {
"source": {
"organizeImports": "on"
}
}
}
}
38 changes: 38 additions & 0 deletions deep-sea-stories/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
services:
backend:
build:
context: .
dockerfile: packages/backend/Dockerfile
ports:
- "8000:8000"
environment:
- NODE_ENV=production
- PORT=8000
- FISHJAM_ID=${FISHJAM_ID}
- FISHJAM_MANAGEMENT_TOKEN=${FISHJAM_MANAGEMENT_TOKEN}
- ELEVENLABS_API_KEY=${ELEVENLABS_API_KEY}
restart: unless-stopped

web:
build:
context: .
dockerfile: packages/web/Dockerfile
args:
- VITE_FISHJAM_ID=${FISHJAM_ID}
- VITE_BACKEND_URL=${BACKEND_URL:-http://nginx/api}
environment:
- VITE_BACKEND_URL=http://nginx/api
restart: unless-stopped
depends_on:
- backend

nginx:
image: nginx:alpine
ports:
- "5000:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
depends_on:
- backend
- web
restart: unless-stopped
Loading