This is a simple music storage client that allows you to manage and enjoy your music collection. You can upload your favorite songs and albums, search for them, and download music from youtube.
To install project dependencies, run:
pnpm install
start the client
pnpm dev
![App Screenshot](https://private-user-images.githubusercontent.com/41591336/279344417-e72b67be-9040-4cf7-a435-96e400c9bb37.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2NjU4MDksIm5iZiI6MTcyNTY2NTUwOSwicGF0aCI6Ii80MTU5MTMzNi8yNzkzNDQ0MTctZTcyYjY3YmUtOTA0MC00Y2Y3LWE0MzUtOTZlNDAwYzliYjM3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA2VDIzMzE0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVhNDQwZDA4NDljOWQxZGZjMTk4YWJiZjg1MTA5Zjk2MTk3YTA0MzA2ZjliZDVhOTRlMmJhNzQzNGM2MWZkNTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.25nDrn_-WBCo1jY9kwpuD5vDOBn9ijM-TYfwLmEXngw)
![App Screenshot](https://private-user-images.githubusercontent.com/41591336/279344705-7d8bd8f6-c7b1-49aa-9d11-47288f0a5ee8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2NjU4MDksIm5iZiI6MTcyNTY2NTUwOSwicGF0aCI6Ii80MTU5MTMzNi8yNzkzNDQ3MDUtN2Q4YmQ4ZjYtYzdiMS00OWFhLTlkMTEtNDcyODhmMGE1ZWU4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA2VDIzMzE0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYzMzI3MDFjOTgxNTM1OGY3MzlhOTVhNDBjYjI5YmJmNGIyYTU3YWZiZGEwYWY4OWM4ODA1MWIyYWZiNDU2N2UmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.A03SuaBU2DI5r9BE0-XcdmQ15N_RC6CjpYSeZJHaL0g)
You can use Docker Compose to run the client alongside the server. Here's a Docker Compose configuration:
version: '3.8'
services:
db:
image: postgres:latest
container_name: postgres
restart: always
environment:
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_NAME}
volumes:
- ./postgres-data:/var/lib/postgresql/data
ports:
- "5432:5432"
frontend:
build:
context: ./serene-client
dockerfile: Dockerfile
container_name: frontend
ports:
- "3000:3000"
depends_on:
- backend
backend:
build:
context: ./serene-server
dockerfile: Dockerfile
container_name: backend
environment:
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_USER: ${DB_USER}
DB_PASSWORD: ${DB_PASSWORD}
DB_NAME: ${DB_NAME}
volumes:
- /etc/music:/etc/music
ports:
- "4000:4000"
depends_on:
- db
volumes:
postgres-data:
The use of Next.js in this project is for experimentation purposes