This project is a LiveView implementation of the 3d-css-scene package, integrated with Phoenix Sockets and Presence to track and broacast connections and movement in a 3D room.
This initial implementation is carried out as part of the Spawnfest 2020 hackathon and contains. This web application allows users to create or join rooms where other people can join and share a synchronized youtube experience together. As part of the 3D scene, roomates are able to see each other running around while listening. The user interface is quite simple. It allows users to see and join any of the available public rooms, keep track of how many arenies are gathered together. They also get a temporary unique avatar, all in a fancy elixirish styled overlay.
Upon visiting the site you can create rooms by providing:
title
a fancy title for the roomslug
a name that generates a unique url for you to share with othersvideo url
this is an optional youtube url to get the room funkier. Live videos are allowed!privacy
you can create private rooms by checking this box. This will only affect the public room list, users will be able to join by visiting theslug
url.
- Public rooms creation
- Private rooms creations
- Dynamic public rooms list, with connected users.
- Youtube video time synchronization on room join
- Video time tracking upon leaving room
- Users movement tracking and rendering
- Temporary dynamically generated avatars for joiners
- Ability to delete rooms
- User profile. Ability to assign you own name, social network, ids, status.
- Movements interpolation
- General and p2p chats
- Collision engine integration
- Collaborative room construction engine
- Voice chat (web RTC)
- Avatar color selection
- Mobile responsiveness
- Mobile sensors integration
- Install dependencies with
mix deps.get
- Install Node.js dependencies with
npm install
inside theassets
directory
This project uses postgresql
. You'll need to configure the environment variables to setup your local database credentials. You should make a copy of .env.example
on .env
.
The following make
commands will source the .env
file before running their corresponding mix
tasks.
- Create and migrate your database using with
make setup
- Drop your current database to recreate and migrate it with
make reset
- Start a
phx.server
inside aniex
session withmake server
- Run
mix test
withmake test
We recommend using Chrome for better experience.
The avatar generator module comes from identikoso
Developed by the Spawnfest's coop team. Go co-ops!