{"id":24857171,"url":"https://github.com/adrianmosnegutu/jammming","last_synced_at":"2026-04-13T04:31:41.625Z","repository":{"id":254452900,"uuid":"846141966","full_name":"AdrianMosnegutu/Jammming","owner":"AdrianMosnegutu","description":"A React app that lets you create a custom playlist and export it directly to your Spotify account.","archived":false,"fork":false,"pushed_at":"2024-08-26T12:25:07.000Z","size":13073,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-12T23:38:08.935Z","etag":null,"topics":["api","css","frontend","html","javascript","music","nodejs","playlist","react","spotify","webapp"],"latest_commit_sha":null,"homepage":"https://jammming-adrian-mosnegutu.netlify.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdrianMosnegutu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-22T16:00:39.000Z","updated_at":"2024-11-21T16:03:39.000Z","dependencies_parsed_at":"2025-03-26T15:52:07.637Z","dependency_job_id":null,"html_url":"https://github.com/AdrianMosnegutu/Jammming","commit_stats":null,"previous_names":["adrianmosnegutu/jammming"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AdrianMosnegutu/Jammming","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdrianMosnegutu%2FJammming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdrianMosnegutu%2FJammming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdrianMosnegutu%2FJammming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdrianMosnegutu%2FJammming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdrianMosnegutu","download_url":"https://codeload.github.com/AdrianMosnegutu/Jammming/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdrianMosnegutu%2FJammming/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31740265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T03:27:07.512Z","status":"ssl_error","status_checked_at":"2026-04-13T03:26:53.610Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","css","frontend","html","javascript","music","nodejs","playlist","react","spotify","webapp"],"created_at":"2025-01-31T17:15:34.851Z","updated_at":"2026-04-13T04:31:41.600Z","avatar_url":"https://github.com/AdrianMosnegutu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jammming\n\n## Overview\n\nJammming is a web application that allows users to search for songs, listen to previews, and create custom playlists. Users can filter their search by track, artist, album, or genre.\n\nOnce they've selected their favorite tracks, they can customize the playlist by adding a cover image, setting the name, writing a description, and choosing the privacy preference (public/private). The created playlist can then be exported directly to the user's Spotify account.\n\nUsers can log in using their Spotify credentials.\n\nThe web version is available [here](https://jammming-adrian-mosnegutu.netlify.app).\n\n## Features\n\n- **Search \u0026 Filter:** Find songs using filters such as track, artist, album, or genre.\n- **Listen to Previews:** Listen to a short preview of the songs before adding them to your playlist. Not all songs have previews!\n- **Create Custom Playlists:**\n  - Choose a playlist cover.\n  - Set the playlist name and description.\n  - Choose privacy settings (Public/Private).\n- **Spotify Integration:**\n  - Log in with your Spotify account.\n  - Export your custom playlist directly to Spotify.\n\n## Getting Started\n\n### Prerequisites\n\n- Use the Vite development environment.\n- A [Spotify account](https://www.spotify.com/signup) is required to use the app.\n- Obtain a Spotify API key by registering your application on the [Spotify Developer Dashboard](https://developer.spotify.com/dashboard/applications).\n\n### Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/AdrianMosnegutu/jammming.git\n   ```\n\n2. Navigate to the project directory:\n\n   ```bash\n   cd jammming\n   ```\n\n3. Install dependencies\n\n   ```bash\n   npm install\n   ```\n\n4. Create a .env file in the root directory and add your Spotify API credentials:\n\n   ```env\n   VITE_CLIENT_ID=your_client_id\n   ```\n\n   You only need to add the Client ID since this project uses the authorization code flow with PKCE.\n\n5. In [constants.js](/src/utils/constants.js), modify the redirect uri to that of your application.\n\n   ```js\n   export const REDIRECT_URI = your_application_redirect_uri;\n   ```\n\n### Running the app\n\n1. Start the development server:\n\n   ```bash\n   npm run dev\n   ```\n\n2. Open your browser and go to \u003chttp://localhost:5173\u003e to use the app\n\n## Screenshots\n\n### Login Page\n\n![login page](/screenshots/LoginPage.jpeg)\n\n### Search Results\n\n![search results](/screenshots/SearchResults.jpeg)\n\n### Track Preview Playback\n\n![track preview playback](/screenshots/TrackPreviewPlayback.jpeg)\n\n### Playlist Creation\n\n![playlist creation](/screenshots/PlaylistCreation.jpeg)\n![playlist on spotify](/screenshots/SpotifyPlaylist.png)\n\n## Technologies used\n\n- **React**: Frontend framework for building the user interface.\n- **Vite**: Fast development server and build tool for modern web projects.\n- **Spotify Web API**: Used to fetch song data and manage playlists.\n- **Node.js** and **axios**: Backend for handling API requests.\n- **Tailwindcss**: Utility-first CSS framework that provides low-level utility classes to build custom designs directly in your HTML.\n- **OAuth 2.0**: For authenticating with Spotify.\n\n## Contributing\n\nIf you’d like to contribute to this project, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch (git checkout -b feature/YourFeature).\n3. Make your changes.\n4. Commit your changes (git commit -m 'Add new feature').\n5. Push to the branch (git push origin feature/YourFeature).\n6. Open a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](/LICENSE) file for details.\n\n## Acknowledgments\n\n- Spotify for providing the API and music streaming platform.\n- The open-source community for providing tools and resources.\n\n## Contact\n\nFor any inquiries or support, please contact [me](https://github.com/AdrianMosnegutu).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianmosnegutu%2Fjammming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrianmosnegutu%2Fjammming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianmosnegutu%2Fjammming/lists"}