Public
PawClash - social gaming e chat Cani vs Gatti
cani-gattichatgamingsocialwebrtc
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Social gaming + chat serverless full-stack su Val Town.
Live: https://pawclash-app.val.run/
| File | Ruolo |
|---|---|
main.ts | Endpoint HTTP — tutte le API (/api/*) + serve la SPA |
db.ts | Schema & helper SQLite val-scoped (std/sqlite/main.ts) |
ai.ts | Moderazione automatica con IA + assistente di supporto |
index.html / style.css / app.js | Frontend dark-neon glassmorphism |
Rendering mermaid diagram...
POST /api/register · POST /api/login · POST /api/forgot-password · GET /api/me · POST /api/status
POST /api/chat/send · GET /api/chat/messages · POST /api/chat/react
POST /api/voice/join · POST /api/report · POST /api/support
GET /api/scores · GET /api/quiz
Supporto e moderazione usano un vero LLM (gpt-4o-mini via std/openai, con visione per gli screenshot) se è presente l'env var OPENAI_API_KEY. Senza chiave ripiegano su un motore euristico offline (l'app funziona comunque).
👉 Add OPENAI_API_KEY here: https://www.val.town/x/culostrapulito/pawclash/environment-variables?key=OPENAI_API_KEY
- Apri l'app e clicca Accedi / Registrati.
- Scegli la fazione (🐶 CANI o 🐱 GATTI) nel selettore a schede.
- Scrivici un messaggio, reagisci con 🐶 🐱 ❤️ 🔥, registra una nota vocale (🎤), entra in una stanza vocale e prova il supporto IA (🤖).
- Dal profilo di un utente puoi segnalarlo: l'IA analizza gli ultimi 5 messaggi e applica ammonizione/mute/ban.
- Chiamate vocali: la cattura/riproduzione audio (note vocali) è reale via MediaRecorder/WebRTC nel browser. Le stanze vocali live (1-a-1 / fazione / globale) richiedono un server di signaling persistente + TURN, non disponibile su serverless Val Town: la UI della stanza è quindi simulata. Per chiamate vere serve un relay esterno (es. Metered/Cloudflare TURN).