- 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_URLis 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.sqliteand switch the driver tosqliteinschema.prisma, but you'll have to comment out all@db.Textoccurrences in the schema as well.
- S3 id and secret are the same as
npx prisma db pushnpm run devcd docker- populate the
MINIO_ROOT_PASSWORDandPOSTGRES_PASSWORDfields 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
.envfile
- 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.
