This project aims to give users a concise way to view their Spotify activities and data.
It is currently in development and not ready for production use.
There is already a live deployment of the current state of the project using Vercel, as well as plans to deploy to Azure.
But due to restrictions of the Spotify API it is only accessible to users, who are explicitly added to the Spotify application.
If you wish to read more about this project, please visit the wiki of this repository.
For a detailed setup guide have a look at the dev setup section of this readme.
We utilize Next.js with Tailwind. Our Database is implemented via Prisma.
Read more about the frameworks an libraries used in the project in this repository's wiki.
Node.js is required to run this project.
The project was developed using pnpm
, there is a preinstall script in place, which enforces the usage of pnpm
.
You can use npm
to install pnpm
, simply run this command npm install -g pnpm
.
If you are getting build errors, make sure you are using pnpm
.
If you clone this repository make sure to run pnpm install
.
You will also need Docker to setup the database.
You can download it here.
The application will only work if you have a Spotify application set up.
For a detailed guide on how to set up a Spotify application, visit the Spotify Docs.
After creating the application, fill in the required information in the .env file.
It is also necessary to specify the redirect URI in the settings of the Spotify Application you have just created. It should be the same as in the .env.
DATABASE_URL
mysql://root:apollon@localhost:3306/apollon
SPOTIFY_CLIENT_ID
SPOTIFY_CLIENT_SECRET
SPOTIFY_REDIRECT_URI
http://localhost:3000/spotifycallback
SPOTIFY_SCOPE
DOMAIN
http://localhost:3000
.To start the database, you can use the docker-compose file provided in this repository or host your own database.
To use the docker-compose file, run docker-compose -f local-db-docker.yml up
in the root directory of the project.
After you have completed the setup, you can start the application by running pnpm dev
. This will start the dev server on port 3000.
Another option is to build the application as a docker container. To achieve this, you have to first build the image by running docker build . -t apollon
in the root directory of the project. After that you can use the docker-compose file to start the application, this will automatically set the environment variables. Execute it by running docker-compose up
in the root directory of the project.