Giter Site home page Giter Site logo

victorleaoo / playfy Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 73.11 MB

Web application that shows a playlist's interesting stats from the Spotify API.

Home Page: https://spotify-playlists-web-app.vercel.app

Python 35.10% Jupyter Notebook 10.56% HTML 2.32% JavaScript 35.32% CSS 15.56% Dockerfile 1.14%

playfy's Introduction

playfy-how

What is it?

PlayFy is a web application where spotify users can see some interesting stats of their public playlists:

  1. Top 5 Artists;
  2. Top 5 Albums;
  3. Most Popular Track;
  4. Longest Track;
  5. Shortest Track.

All you need to do to see these stats is login in with Spotify and input the playlist link.

IMPORTANT:

  1. Send me a message with your Full Name and Spotify e-mail, in order for you to use the application. My Linked-In: https://www.linkedin.com/in/victor-leaoo/
  2. The playlist link must be the one present at the share option on the Spotify PC App or Spotify open in a browser. As shown below:

How to run it for developers

For running it locally, it's necessary to change REACT_APP_MODE for "local" at frontend/src/App.js (line 13) and at frontend/src/components/statsComponents/SpotifyLogin.js (line 3).

Docker

To run PlayFy with Docker (assuming you already have it installed), follow the steps:

  1. Inside the repo root folder (the one with the docker-compose.yml file), run: docker compose up --build. The --build is necessary only the first time you run it, from the second time ahead, you are able to run the app with docker compose up.
  2. Wait until the Docker starts running and access PlayFy at the url localhost:3000.

Python + NPM

Running Python (back-end):

  1. Enter the /backend folder.
  2. Install the required libraries by using: pip install -r requirements.txt.
  3. Run the fastapi application: python3 main.py.

Running React/NPM (front-end):

  1. Enter the /frontend folder.
  2. Run the command: npm install.
  3. Run the React application: npm start.

With both above running, you are able to access PlayFy at the url localhost:3000.

Development and Technologies

Endpoints

All used endpoints, either from the Spotify API or the one created for the back/front-end communication are documented at: endpoints.

Python: Back-end

Python was the language used for the back-end development. The fastapi was the framework used for the endpoint creation.

Further, pandas was widely used for data manipulation.

React: Front-end

React (JavaScript) was the framework used for the front-end.

Docker

Docker was the tool applied to make the deployment easier.

P.N. (Programmer's note:):

Feel free to fork this project and improve it. If you make any modification on it and wants to share it with me, I'm all ears. :)

It was my first time using React and creating a full-stack project (especially when it comes to front-end), so more experienced developers might find something that can be better done.

playfy's People

Contributors

victorleaoo avatar

Stargazers

 avatar

Watchers

 avatar

playfy's Issues

Criar Notebooks // Create Notebooks

Criar Notebooks // Create Notebooks

Requests Notebook

  • Notebook com exemplos usando a API (request/response).

  • Notebook with the API examples (request/response).

Function Notebook

  • Notebook com as funções importantes usadas na aplicação.

  • Notebook with the important functions used on the app.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.