Welcome to Web World, a real-time multiplayer arcade ecosystem! Dive into an interactive virtual world where you can meet, chat, and explore a shared top-down map together in real time.
- Create a Room: Host a private world of your own or join an existing room seamlessly using a secure 6-digit PIN.
- Have an Avatar: Select and customize your very own character to represent you in the shared world.
- Enjoy with Friends: Explore the map, interact, and share experiences with your friends in the same active room.
- Cafeteria Meetings: Gather in the virtual cafeteria area on the map to hold casual or important meetings.
- Voice and Video Chat (Currently Working): Communicate in real-time with other players using our fully functional built-in voice and video chat system.
- Side Missions: Look forward to engaging secondary quests to unlock achievements and spice up your adventure!
To get Web World running locally, you need to set up the environment variables for both the frontend and the backend.
You will find a .env.sample file in the root directory (for the frontend) and inside the backend/ directory (for the backend). These serve as your base configurations.
- Copy
.env.sampleto.envin the root folder and fill in the required frontend keys (e.g., AWS S3 credentials, Base URLs). - Copy
.env.sampleto.envinside thebackend/folder and fill in the required backend keys (e.g., Database URL, JWT Secrets, AWS credentials).
- Open a terminal in the root directory and run
npm install. - Open another terminal in the
backend/directory and runnpm install. - Start both development servers using
npm run devin their respective directories. You're ready to play!
For a much faster, containerized setup, the project includes Dockerfiles and a docker-compose.yml to automatically orchestrate the frontend, backend, and PostgreSQL database.
- Make sure you have Docker and Docker Compose installed on your machine.
- Ensure your
.envfiles are fully configured by following the Environment Setup section. - From the root of the project, run the following command to build and start the entire application:
docker compose up --build
- Docker will spin up these services simultaneously:
- A PostgreSQL Database container (
db). - The Node.js Backend container running on port
4000. - The React/Vite Frontend container running on port
5173.
- A PostgreSQL Database container (
- Once the containers are successfully running, open your browser and access the platform at
http://localhost:5173.