A music discussion platform for everyone. Easily find, discuss, and review the singles, artists, albums, and EPs you listen to, and discover the communities associated with all kinds of music. Connect your Spotify account for easy integration with your Spotify library and music. This project is open source, and everyone is welcome to contribute by opening issues and PRs.
All Typescript and Javascript files should be formatted using the Prettier configuration defined by the prettierrc.json file in the root of the web directory. All TS/TSX and JS/JSX files should be in this folder.
Set up env file: The template is here, visit Google's Cloud Platform and Spoify's Developer Dashboard to create and get keys from Spotify and google for Oath and web api access
ln -s ../.env .env
SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=
PGUSER=songscope
PGPASSWORD=
PGHOST=localhost
PGPORT=26257
PGDATABASE=defaultdb
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
NEXTAUTH_SECRET=w9BcqHKmK+yVyH1o1tAVg+UVabGm9m10/gIglifxXfI=
NEXTAUTH_URL=http://localhost:3000
docker-compose up
Note: We were given and used a school issued MySQL database for the project during the school year. However, the database is now being hosted on a CockroachDB instance in production, and we use postgres to have a common sql syntax that will work with both CockroachDB in production and a Postgres local server in development. The instructions above are for creating this lcoal Postgres server.
Set up the web project: After the database is running, you can set up the web project by running the following commands in the web folder. The project is runtime agnostic and can be run with any runtime, but the following commands are for Node.js with NPM:
cd web;
npm install;
npm run build;
npm run prod;
cd web;
npm install;
npm run dev;