{"id":29205630,"url":"https://github.com/azamjonbro/myplaylist-front","last_synced_at":"2025-07-02T16:07:51.619Z","repository":{"id":298786128,"uuid":"1001140668","full_name":"azamjonbro/MyPlaylist-Front","owner":"azamjonbro","description":"A simple Node.js REST API for uploading and managing songs, complete with audio duration detection. Built for use in music streaming platforms, admin dashboards, and audio CMS solutions.","archived":false,"fork":false,"pushed_at":"2025-06-13T21:08:59.000Z","size":57,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-25T06:14:02.136Z","etag":null,"topics":["front","playlist","react"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/azamjonbro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-06-12T22:20:16.000Z","updated_at":"2025-06-17T09:00:56.000Z","dependencies_parsed_at":"2025-06-12T23:32:48.403Z","dependency_job_id":"b7ad0e46-dff6-418e-afb8-71969c3039b3","html_url":"https://github.com/azamjonbro/MyPlaylist-Front","commit_stats":null,"previous_names":["azamjonbro/myplaylist-front"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/azamjonbro/MyPlaylist-Front","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azamjonbro%2FMyPlaylist-Front","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azamjonbro%2FMyPlaylist-Front/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azamjonbro%2FMyPlaylist-Front/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azamjonbro%2FMyPlaylist-Front/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/azamjonbro","download_url":"https://codeload.github.com/azamjonbro/MyPlaylist-Front/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azamjonbro%2FMyPlaylist-Front/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263172408,"owners_count":23425107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["front","playlist","react"],"created_at":"2025-07-02T16:07:48.140Z","updated_at":"2025-07-02T16:07:51.591Z","avatar_url":"https://github.com/azamjonbro.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎵 Music Upload Frontend\n\nA beautiful and minimal frontend interface for uploading and managing songs, designed to work with a custom Node.js + Express backend. Built for simplicity and music streaming projects.\n\n## 🚀 Features\n\n- 🎧 Upload MP3/WAV audio files\n- 🖼 Add song metadata (title, artist, cover image)\n- ⏱ Shows audio duration (extracted automatically by backend)\n- 📦 Works seamlessly with the `/uploads` folder from backend\n- ✅ Clean UI for quick testing and demos\n\n## 🌐 Technologies Used\n\n- HTML5 + CSS3\n- Vanilla JavaScript (Fetch API)\n- Bootstrap (optional, customizable)\n- Works with Node.js + Express backend (with Multer \u0026 ffmpeg)\n\n## 📸 Screenshot\n\n![screenshot](https://picsum.photos/id/300/800/300)\n\n## 📂 How to Use\n\n1. Clone the repository or copy the frontend folder\n2. Make sure the backend server (Node.js API) is running\n3. Open `index.html` in your browser\n4. Fill in the form and upload a song\n\n## 🧩 API Requirements\n\nThis frontend expects the following backend:\n\n### `POST /songs`\n\n- **Form-Data Params:**\n  - `audio` - (File) Required MP3/WAV file\n  - `title` - (String) Required\n  - `artist` - (String) Optional\n  - `cover` - (String) Optional image URL\n\n**Response:**\n```json\n{\n  \"id\": \"1749758531934\",\n  \"title\": \"Yana San\",\n  \"artist\": \"Ummon\",\n  \"duration\": 213,\n  \"cover\": \"https://example.com/cover.jpg\",\n  \"audioUrl\": \"http://localhost:5000/uploads/audio.mp3\"\n}\n```\n\n## 🛠 Setup\n\nNo build tools required. Just open in your browser.\n\nMake sure backend is hosted at the correct URL (edit `script.js` if needed):\n\n```js\nfetch('http://localhost:5000/songs', {\n  method: 'POST',\n  ...\n})\n```\n\n## 📁 File Structure\n\n```\nfrontend/\n├── index.html\n├── style.css\n└── script.js\n```\n\n## 📝 License\n\nMIT – free to use and customize!\n\n---\n\nCreated with ❤️ by @azamjonbro\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazamjonbro%2Fmyplaylist-front","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazamjonbro%2Fmyplaylist-front","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazamjonbro%2Fmyplaylist-front/lists"}