Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monthlify - Organize Your Spotify Playlists by Month

Note: This project is currently not in active development. Spotify's updated API regulations prevent solo developers from accessing the extended API plans required to deploy and share this application. However, you can still clone this repository and run the app locally to explore the functionality.

Transform your favorite Spotify playlists into organized monthly collections. Monthlify automatically creates new playlists for each month based on when songs were added, with dynamically generated cover images.


Features

Frontend (React + Next.js)

  • Spotify OAuth Integration -Secure authentication with your Spotify account
  • Smart Playlist Selection -Browse existing playlists or paste a Spotify URL
  • Monthly Organization -Automatically sorts songs by the month they were added
  • Preview Mode -Review monthly playlists before creating them in Spotify
  • Auto-Generated Covers -Dynamic cover images for each monthly playlist

Backend (Python + Flask)

  • Playlist Generation -Creates multiple playlists with custom naming
  • Custom Cover Images -Generates unique cover art for each month/year
  • Smart Track Management -Adds tracks while avoiding duplicates
  • Direct Integration -Works with liked songs or any Spotify playlist

Demo & Screenshots

User Journey

1. Landing Page - Authenticate with Spotify and select your playlist Landing Page

2. Playlist Library - Browse and search through your saved playlists Playlist Library

3. Preview Mode - Review the monthly organization before creating playlists Preview Mode

4. Successfully Created - View your newly organized monthly playlists in Spotify Output

Video Demo

Watch the demo on YouTube


Tech Stack

Layer Technologies
Frontend Next.js, React, TypeScript, Tailwind CSS, Zustand, Radix UI, Lucide React
Backend Python, Flask, Spotipy, Pillow, python-dotenv
Authentication Spotify OAuth 2.0
API RESTful endpoints

Quick Start

Prerequisites

Before you begin, ensure you have the following installed:

Spotify Developer Setup

  1. Go to the Spotify Developer Dashboard
  2. Create a new application
  3. Accept the terms and create the app
  4. Copy your Client ID and Client Secret
  5. Set the Redirect URI to http://127.0.0.1:5000/callback (for local development)

Installation & Setup

  1. Clone the repository:
git clone https://github.com/thp728/monthlify__playlist-organizer.git
cd monthlify__playlist-organizer
  1. Set up the backend - see server/README.md for detailed instructions

  2. Set up the frontend - see client/README.md for detailed instructions

Once both services are running, visit http://localhost:5000 in your browser.


Project Structure

monthlify__playlist-organizer/
├── client/                    # Next.js frontend application
│   ├── src/
│   │   ├── app/              # Next.js app router
│   │   ├── components/       # Reusable React components
│   │   ├── store/            # Zustand state management
│   │   └── utils/            # Helper functions
│   ├── .env.example          # Environment variables template
│   └── README.md             # Frontend documentation
├── server/                    # Flask backend application
│   ├── app.py                # Main Flask application
│   ├── requirements.txt       # Python dependencies
│   ├── .flaskenv.example     # Environment variables template
│   └── README.md             # Backend documentation
└── README.md                  # This file

Development Workflow

Running Both Services

For local development, you'll need to run both the backend and frontend:

# Terminal 1 - Backend
cd server
source venv/bin/activate  # or .\venv\Scripts\activate on Windows
flask run

# Terminal 2 - Frontend
cd client
npm run dev

Visit http://localhost:5000 in your browser.

Making Changes

  • Frontend changes: Hot reload automatically updates at http://localhost:5000
  • Backend changes: Restart Flask server with flask run to see changes

Documentation

About

Organize your Spotify playlists by month. Create monthly playlist collections automatically sorted by date added, with dynamically generated covers.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages