{"id":25940861,"url":"https://github.com/patryk-ku/fm-collage","last_synced_at":"2026-05-12T14:01:16.348Z","repository":{"id":239860623,"uuid":"799064299","full_name":"patryk-ku/fm-collage","owner":"patryk-ku","description":"Last.fm album collage creator","archived":false,"fork":false,"pushed_at":"2025-09-11T07:52:42.000Z","size":876,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-11T10:44:00.264Z","etag":null,"topics":["collage","lastfm","lastfm-api","mantine","nextjs"],"latest_commit_sha":null,"homepage":"https://fm-collage.vercel.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/patryk-ku.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-11T04:55:29.000Z","updated_at":"2025-09-11T07:52:46.000Z","dependencies_parsed_at":"2024-06-22T23:26:46.204Z","dependency_job_id":"9e6acaaa-0f78-4979-b30b-d5402b8fc6bb","html_url":"https://github.com/patryk-ku/fm-collage","commit_stats":null,"previous_names":["patryk-ku/fm-collage"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/patryk-ku/fm-collage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patryk-ku%2Ffm-collage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patryk-ku%2Ffm-collage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patryk-ku%2Ffm-collage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patryk-ku%2Ffm-collage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patryk-ku","download_url":"https://codeload.github.com/patryk-ku/fm-collage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patryk-ku%2Ffm-collage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32942147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["collage","lastfm","lastfm-api","mantine","nextjs"],"created_at":"2025-03-04T05:19:24.237Z","updated_at":"2026-05-12T14:01:16.342Z","avatar_url":"https://github.com/patryk-ku.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# .fm Collage Creator\n\nCreate cover collages of your top albums from last.fm. [Check it out yourself!](https://fm-collage.vercel.app/)\n\n![screenshot](/images/fm-collage-screenshot.png)\n\nThis app creates collages entirely on the client side and only uses the server to retrieve data from last.fm without leaking the API key. So the speed of collage creation depends on the performance of the user's hardware and their internet speed. For this reason, the cost of hosting this site is very low.\n\nCreated using: [Next.js](https://nextjs.org/) + [TailwindCSS](https://tailwindcss.com/) + [Mantine](https://mantine.dev/) + [Phosphor Icons](https://phosphoricons.com/), and hosted for free on [Vercel](https://vercel.com/).\n\n## Build and host it by yourself\n\n\u003e [!NOTE]\n\u003e You will need a last.fm API key which you can easily get [here](https://www.last.fm/api).\n\nThere are three main ways how to achieve this:\n\n### Deploy on Vercel\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fpatryk-ku%2Ffm-collage\u0026env=LASTFM_API_KEY\u0026envDescription=Last.fm%20api%20key\u0026envLink=https%3A%2F%2Fwww.last.fm%2Fapi\u0026project-name=fm-collage\u0026repository-name=fm-collage)\n\n### Standard node.js hosting or your own server\n\n```sh\ngit clone 'https://github.com/patryk-ku/fm-collage'\ncd fm-collage\nmv .env.example .env\n```\n\nNow insert your last.fm API key into `.env` file. Then install all dependencies and build files.\n\n```sh\nnpm install --omit=dev\nnpm run build\n```\n\nFinally run server.\n\n```sh\nnpm run start\n```\n\n### Standalone export and Node.js hosting without acces to terminal/script execution (e.g. Phusion Passenger)\n\n\u003e [!IMPORTANT]\n\u003e The export script is written in bash, so it requires a UNIX-like system or WSL.\n\nWhen building applications using the standard method, the app folder will be over ~700 MB in size. This is a lot and can easily be reduced to a reasonable ~20 MB using [Next.js standalone export](https://nextjs.org/docs/pages/api-reference/next-config-js/output) option. Using this method also allows the site to be served using hosting that use Phusion Passenger or other similar solutions.\n\nDo everything as for a normal installation but instead of the `npm run build` use:\n\n```sh\nnpm run export\n```\n\nThe built app files will be waiting for you in the `dist` folder, and additionally, the packed files will be in a zip archive in the `export` folder. To start server simply run:\n\n```sh\nnode app.js\n```\n\n## Development\n\nRun the development server on [http://localhost:3000](http://localhost:3000):\n\n```sh\nnpm run dev\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatryk-ku%2Ffm-collage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatryk-ku%2Ffm-collage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatryk-ku%2Ffm-collage/lists"}