MetaSpace is a full-stack multiplayer web application with real-time collaboration, interactive PixiJS editing, and video chat features. Users can join rooms, collaborate in real-time, and communicate through video.
- Features
- Tech Stack
- Project Structure
- Installation
- Running the Project
- Usage
- Scripts
- Contributing
- License
- Real-time multiplayer rooms
- PixiJS-powered interactive editor for maps and environments
- Video chat with WebRTC and Socket.IO
- Google Sign-In authentication
- Supabase backend for authentication, database, and realtime updates
- Modular and scalable TypeScript codebase
- Responsive frontend built with Next.js and Tailwind CSS
- Frontend: Next.js, React, TypeScript, Tailwind CSS
- Backend: Node.js, Express, Socket.IO, TypeScript
- Database: Supabase (PostgreSQL + Realtime)
- Realtime Communication: Socket.IO
- Video Chat: WebRTC
- Game Editor / Engine: PixiJS
frontend/app: Pages and componentsfrontend/app/auth: Google Sign-In authenticationfrontend/app/editor: PixiJS editor componentsfrontend/app/play: Game client UIbackend/server.ts: Backend entry pointbackend/requests.ts: API request helpers
- Node.js >= 18
- Yarn or npm
- Supabase project with API keys
- Clone the repository:
git clone https://github.com/your-username/metaspace.git
cd metaspace
# Backend
cd backend
yarn install
# Frontend
cd ../frontend
yarn install
SUPABASE_URL=your-supabase-url
SUPABASE_KEY=your-supabase-key
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
cd backend
yarn dev
cd frontend
yarn dev