An open-source music app where you can listen collaboratively to real-time curated or custom music stations with friends.
The GitHub Education Pack was very useful for me and other students I collaborated with whilst developing this project. In particular, we utilised the access to free GitHub Pro, and the benefits offered by Mailgun, Travis CI and JetBrains.
The project is separated into two different services - the frontend and backend. Socket.io is used as intermediary between the two. We also use Docker for managing the live servers and helping with local development.
A Node.js app that is build with scalability in mind for the future.
- Node.js for server-side code
- MongoDB as a non-relational database
- Redis for caching (e.g. user sessions)
Based off of the original Musare, which utilized Meteor.
MusareNode now uses NodeJS, Express, SocketIO and VueJS - among other technologies. We have also implemented the ability to host Musare in Docker Containers.
- Nginx (not required)
The frontend is a vue-cli generated, vue-loader single page app, that's served over Nginx or Express. The Nginx server not only serves the frontend, but can also serve as a load balancer for requests going to the backend.
The backend is a scalable NodeJS / Redis / MongoDB app. Each backend server handles a group of SocketIO connections. User sessions are…
Musare is still in development with many more features planned, some of the in-progress work can be found on the experimental branch.
If you would like to contribute or try out Musare, please check out the links above! We have quite detailed guides in setting up a local instance on GitHub, and, if you need any help, we would love for you to get in touch (contact details available on the readme).