- Authentication 🔑
- Creating songs / compositions 🎷
- Adding tracks to compositions (S3 bucket storage with local MinIO dockerfiles) 🎼
- Playing songs / compositions ⏯
- Muting / altering volume / ... of songs in the UI Player 🎹.
- Fullstack typesafety 👷
To set up your environment for local development, execute the following order of commands:
npm i
- populate env as per
.env.example
, taking into consideration the following points:- S3 id and secret are the same as
MINIO_
credentials DATABASE_URL
is the full postgres url with credentials from the docker-compose YAML file (e.g. https://www.prisma.io/docs/guides/development-environment/environment-variables#expanding-variables)- without postgres, you can use
DATABASE_URL=file:./db.sqlite
and switch the driver tosqlite
inschema.prisma
, but you'll have to comment out all@db.Text
occurrences in the schema as well.
- S3 id and secret are the same as
npx prisma db push
npm run dev
cd docker
- populate the
MINIO_ROOT_PASSWORD
andPOSTGRES_PASSWORD
fields with your passwords of choice - run
docker-compose up -d
- log in to the minio console with your credentials
- create a bucket with the name you entered into the
.env
file
- fix error:
Warning: A title element received an array with more than 1 element as children
.- In browsers title Elements can only have Text Nodes as children.
- If the children being rendered output more than a single text node in aggregate the browser will display markup and comments as text in the title and hydration will likely fail and fall back to client rendering
Author and maintainer: @jstavanja, 2023.