An open API service indexing awesome lists of open source software.

https://github.com/makrischaralampos/jammming

A web application that allows users to search for songs on Spotify, create custom playlists, and save those playlists directly to their Spotify account.
https://github.com/makrischaralampos/jammming

authentication css html http javascript react

Last synced: 3 months ago
JSON representation

A web application that allows users to search for songs on Spotify, create custom playlists, and save those playlists directly to their Spotify account.

Awesome Lists containing this project

README

          

# Jammming

Jammming is a web application that allows users to search for songs on Spotify, create custom playlists, and save those playlists directly to their Spotify account. The application is designed to provide a seamless experience for music lovers who want to curate and manage their own playlists.

## Purpose of the Project

The purpose of Jammming is to offer users an easy way to discover new music and create personalized playlists by leveraging the Spotify API. Users can search for their favorite songs or artists, preview tracks, and compile them into custom playlists that can be saved to their Spotify accounts.

## Technologies Used

- **React**: A JavaScript library for building user interfaces.
- **Bootstrap**: A popular CSS framework for responsive web design.
- **Spotify API**: Used to fetch song data and manage user playlists.
- **GitHub Pages**: For deploying the application.
- **React Loader Spinner**: To display a loading spinner while fetching data.
- **Progressive Web App (PWA)**: For offline support and better user experience.

## Features

- **Search Functionality**: Users can search for songs, albums, or artists using the Spotify API.
- **Playlist Creation**: Users can add tracks to a playlist and remove them as needed.
- **Save Playlists to Spotify**: Users can save their created playlists directly to their Spotify account.
- **Loading Spinner**: Displays a spinner while data is being fetched from the Spotify API.
- **Accessibility Improvements**: ARIA labels, keybord navigation, and optimized contrast for better accessibility.
- **PWA Support**: The app can be installed as a Progressive Web App and used offline.
- **Environment Variables**: Sensitive information like the Spotify Client ID is securely handled using environment variables.

## Future Work

- **Enhanced Playlist Management**: Add features like reordering tracks in playlists or editing playlist details after creation.
- **Real-time Collaboration**: Allow users to collaborate in real-time on playlists, seeing changes as they happen.
- **Improved Offline Functionality**: Further enhance the PWA capabilities to allow users to interact with their playlists and search for music even when offline.
- **More Visual Customization**: Provide users with themes and customization options to personalize the app's appearance.

## Getting Started

To get started with Jammming locally:

1. **Clone the repository**:

```bash
git clone https://github.com/makrischaralampos/jammming.git
```

2. **Install dependencies**:

```bash
npm install
```

3. **Start the development server**:

```bash
npm start
```

## Contributing

If you'd like to contribute to Jammming, feel free to fork the repository, make your changes, and submit a pull request. All contributions are welcome!

## License

This project is licensed undet the MIT License. See the [LICENSE](/LICENSE) file for more details.

## Contact

If you have any questions or feedback, feel free to reach out via GitHub issues or by contacting [mchsooter23@gmail.com](mailto:mcshooter23@gmail.com).

---

Enjoy using Jammming to create your perfect playlists! 🎶