A web-based multiplayer party games platform inspired by Jackbox Games. Create and join games with friends using simple room codes.
- 🎯 Multiple Party Games - Currently includes "The Name Game" and "He Said She Said"
- 🔗 Easy Pairing - Join games using a simple four-letter code
- 🌐 Fully Self-Hostable - Run your own instance with Docker
- 📱 Responsive Design - Works great on mobile and desktop
- ⚡ Real-time Updates - WebSocket-powered live game updates
Everyone secretly enters the name of a person (real or fictional) that others would know. Players then take turns guessing each other's names until only one remains!
Each player answers the same six prompts. Stories are then built randomly using different players' answers for each prompt, creating hilarious combinations.
Frontend:
- React 19 with TypeScript
- Vite for build tooling
- React Router for navigation
- TanStack Query for server state management
- Socket.io for real-time communication
- Bootstrap 5 & Sass for styling
Backend:
- NestJS with TypeScript
- Prisma ORM with PostgreSQL
- Socket.io Gateway for WebSockets
- OpenAI API for suggestions
- JWT authentication
Infrastructure:
- Docker & Docker Compose
- Nginx for serving frontend
- PostgreSQL database
- For Docker: Docker and Docker Compose
- For Local Development:
- Node.js 18+ and npm
- PostgreSQL 14+
- Clone the repository:
git clone https://github.com/jcubby86/games.git
cd games-
Create a
.envfile with required variables (see Environment Variables) -
Start the application:
docker-compose up -d- Access the app at
http://localhost(or your configured port)
- Navigate to the backend directory:
cd nest- Install dependencies:
npm install- Set up your environment variables in a
.envfile:
DATABASE_URL="postgresql://postgres:password@localhost:5432/games"
NODE_ENV=development
NODE_PORT=3000
JWT_SECRET=your_secret_key- Run database migrations:
npx prisma migrate dev- Start the development server:
npm run start:dev- Navigate to the frontend directory:
cd app- Install dependencies:
npm install- Create a
.envfile:
VITE_API_URL=http://localhost:3000- Start the development server:
npm run start:dev- Access the app at
http://localhost:5173
| Variable | Description | Required | Default |
|---|---|---|---|
DATABASE_URL |
PostgreSQL connection string | Yes | - |
NODE_ENV |
Environment (development/production) | No | development |
NODE_PORT |
Backend server port | No | 3000 |
JWT_SECRET |
Secret for JWT token signing | Yes | - |
| Variable | Description | Required | Default |
|---|---|---|---|
VITE_API_URL |
Backend API URL | No | /api (relative) |
| Variable | Description | Required | Default |
|---|---|---|---|
POSTGRES_PASSWORD |
PostgreSQL database password | Yes | - |
JWT_SECRET |
Secret for JWT token signing | Yes | - |
See compose.yml for the complete configuration.
This project is licensed under the MIT License - see the LICENSE file for details.