{"id":22742982,"url":"https://github.com/2lay/fmstatus","last_synced_at":"2025-04-12T21:35:40.531Z","repository":{"id":267374941,"uuid":"901051008","full_name":"2lay/fmstatus","owner":"2lay","description":"🎵 Lightweight Last.fm API to show your currently playing track using Elysia","archived":false,"fork":false,"pushed_at":"2024-12-28T15:52:13.000Z","size":41,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T14:33:30.119Z","etag":null,"topics":["api","bun","cache","elysia","elysiajs","lightweight","music","rest-api","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/2lay.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-12-10T00:27:46.000Z","updated_at":"2024-12-30T15:02:38.000Z","dependencies_parsed_at":"2024-12-10T01:26:13.883Z","dependency_job_id":"3ea9be6e-48ad-4d1a-8ea8-9a1a8a84b937","html_url":"https://github.com/2lay/fmstatus","commit_stats":null,"previous_names":["2lay/fmstatus"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2lay%2Ffmstatus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2lay%2Ffmstatus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2lay%2Ffmstatus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2lay%2Ffmstatus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2lay","download_url":"https://codeload.github.com/2lay/fmstatus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248637187,"owners_count":21137530,"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":["api","bun","cache","elysia","elysiajs","lightweight","music","rest-api","typescript"],"created_at":"2024-12-11T01:15:12.610Z","updated_at":"2025-04-12T21:35:40.496Z","avatar_url":"https://github.com/2lay.png","language":"TypeScript","readme":"## FMStatus\nA lightweight Last.fm status API built with Elysia that fetches your recently played tracks.\n### Features\n* Real-time Last.fm track fetching\n* Built purely with Elysia - zero external dependencies\n* In-memory caching system *(30-second default)*\n* Simple REST API endpoints\n* Type-safe responses\n* Built with Bun\n\n### Building\nElysia provides the option to build your application into either a binary executable or a minified JavaScript file. It is recommended to use the binary build for optimal performance and ease of deployment.\n\n#### Binary Build *(recomended)*\nCreates a compiled binary executable:\n```bash\nbun run build\n```\nThe binary will be created at `./dist/server`\n\n#### JavaScript Build\nCreates a minified JavaScript file:\n```bash\nbun run build@javascript\n```\nThe JavaScript file will be created at `./dist/server.js`\n\n### Running Production Build\n\nAfter building, you can run the application using either method:\n\n```bash\n# Run the binary\n./dist/server\n\n# OR run the JavaScript build\nbun ./dist/server.js\n```\n\nNote that some Linux distros might not like it, so you may need to run:\n```bash\nchmod +x ./server\n```\n\n### Endpoints\n```\nGET /api/nowplaying\n```\n\nReturns the currently playing track (if any) on your Last.fm account.\n\n**Response**\n```json\n{\n  \"artist\": \"Yung Lean\",\n  \"name\": \"Sold Out\",\n  \"album\": \"Psykos\",\n  \"url\": \"https://www.last.fm/music/Yung+Lean/_/Sold+Out\",\n  \"image\": \"https://lastfm.freetls.fastly.net/i/u/174s/077f29a6b886ca5458fdf54082098897.jpg\",\n  \"date\": 1735400506,\n  \"isPlaying\": true\n}\n```\n\nIf no track is currently playing:\n```json\n{\n  \"artist\": \"glaive\",\n  \"name\": \"for god and country\",\n  \"album\": \"may it never falter\",\n  \"url\": \"https://www.last.fm/music/glaive/_/for+god+and+country\",\n  \"image\": \"https://lastfm.freetls.fastly.net/i/u/174s/993389e83d5543c63a0fe41d9c75c00d.png\",\n  \"date\": 1735396740,\n  \"isPlaying\": false\n}\n```\n### License\nThis project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2lay%2Ffmstatus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2lay%2Ffmstatus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2lay%2Ffmstatus/lists"}