A simple music sharing app that allows users to create a session and share music with other users in the same session.
The entrypoint file is app.ts and their simple interface that can be found under the views folder
├── README.md
├── package-lock.json
├── package.json
├── src
│ ├── app.ts
│ ├── controllers
│ │ └── websock.ts
│ ├── db
│ │ └── models
│ │ ├── session.ts
│ │ └── user.ts
│ ├── helpers
│ ├── routes
│ │ ├── index.ts
│ │ ├── session_routes.ts
│ │ └── user_routes.ts
│ └── tests
│ ├── session_tests.ts
│ └── users_tests.ts
├── tsconfig.json
└── views
├── frontend.ejs
├── script.js
└── styles.css
9 directories, 16 files
- Add PORT=8000 & DB_PASSWORD=dev_server to .env file for mongo authentication
npm install && npm run server
- make a request to http://localhost:8000/. This will render a simple frontend to work with
- Sign-up/Sign-in to the website, afterwards you'll be able to create or join/leave a session
- Sign-up so that you are able to create a new session
- Create a new session
- Create new browser session and join the session you just created
- An event should be emitted that a new user has joined the room
- Play music from host, an event should be emitted that can be seen by the new user
- Leave the session with new user, an event should be emitted to the session host that a user has left the room
fix messaging format when user joins or leave a channel
updated_at to session and user schema
host has ability to create a playlist
host can eject people from the room
host can mute people
host can skip songs
user authentication
split log-in/sign-in up
rooms list
If user join another room the user may be forced to to leave the room they are in.
If host leaves the room, someone else is randomly selected to be the new host with admin permissions.
Validate #9