Music creators lack an easy, industry-focused way to connect and collaborate globally, limiting their access to diverse song stems and co-creation opportunities. Current methods are fragmented, slowing down innovation and creativity.
SoundCrowd is a dynamic music collaboration platform that enables creators to share and request song stems. We foster a community of global music co-creation. Our identity reflects the collaboration, innovation, harmony, and excitement of our platform.
- Connects musicians across the world
- Easy way to create entire songs "solo"
- Asynchronous and always avaliable
- Download or clone this repository
- Open in your IDE
- Navigate to the client directory and install
cd client
npm run install
- Start the dev server
npm run dev
- Navigate to the server directory and install
cd ../server
npm run install
- Start the Express dev server
npm run express-dev
- Create a local database using PSQL
- Connect to PSQL (how to do this differs depending on OS)
- Create a new database
CREATE DATABASE sound_crowd;
- Run migrations
npm run migrate-latest
- Create a
.env.local
file in the root of the server directory
DB_USER=<Insert user>
DB_PASSWORD=<Insert password>
DB_NAME=sound_crowd
DB_HOST=localhost
DB_PORT=5432
SESSION_SECRET=<Insert a random secret string for session storage>
- You will also need to add the following environment varaibles for the Google Drive API
CLIENT_ID=<Insert client ID>
CLIENT_SECRET=<Insert client secret>
REDIRECT_URI=<Insert redirect URI>
REFRESH_TOKEN=<Insert refresh token>
If you are not sure how to obtain these details please contact a member of the team and we'll be happy to help.
- If everything went as planned you should be up and running on http://localhost:5173/
The front end of SoundCloud was built using TypeScript and React the back end was built using Node.js, Express, PostgreSQL and Knex.js
Our file upload system relies heavily on the Google Drive API. Thank you Google 🙏