{"id":13769483,"url":"https://github.com/cr4yfish/nemmy","last_synced_at":"2025-06-21T09:06:27.344Z","repository":{"id":178262765,"uuid":"661451570","full_name":"cr4yfish/nemmy","owner":"cr4yfish","description":"Nemmy: The Neat Lemmy App for the Web (and phones later on)  This project is focused on building an App with the best possible User Experience.","archived":false,"fork":false,"pushed_at":"2024-01-08T14:28:24.000Z","size":2313,"stargazers_count":34,"open_issues_count":9,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-21T09:06:12.199Z","etag":null,"topics":["app-router","fediverse","lemmy","next","nextjs","nextjs13","react","reactjs","tailwind","tailwindcss","typescript"],"latest_commit_sha":null,"homepage":"https://nemmy-mu.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cr4yfish.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":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-02T22:12:29.000Z","updated_at":"2025-05-29T19:01:08.000Z","dependencies_parsed_at":"2024-01-12T11:51:34.696Z","dependency_job_id":"8c69eb80-c1c9-4d3f-a285-5005116a97e2","html_url":"https://github.com/cr4yfish/nemmy","commit_stats":null,"previous_names":["cr4yfish/nemmy"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/cr4yfish/nemmy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cr4yfish%2Fnemmy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cr4yfish%2Fnemmy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cr4yfish%2Fnemmy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cr4yfish%2Fnemmy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cr4yfish","download_url":"https://codeload.github.com/cr4yfish/nemmy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cr4yfish%2Fnemmy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261095311,"owners_count":23108784,"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":["app-router","fediverse","lemmy","next","nextjs","nextjs13","react","reactjs","tailwind","tailwindcss","typescript"],"created_at":"2024-08-03T17:00:26.876Z","updated_at":"2025-06-21T09:06:22.330Z","avatar_url":"https://github.com/cr4yfish.png","language":"TypeScript","funding_links":["https://www.buymeacoffee.com/cr4yfish"],"categories":["Projects"],"sub_categories":["Alternative front-ends"],"readme":"\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!--\n*** Thanks for checking out the Best-README-Template. If you have a suggestion\n*** that would make this better, please fork the repo and create a pull request\n*** or simply open an issue with the tag \"enhancement\".\n*** Don't forget to give the project a star!\n*** Thanks again! Now go create something AMAZING! :D\n--\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![Image Build](https://github.com/cr4yfish/nemmy/actions/workflows/docker-build.yml/badge.svg)](https://github.com/cr4yfish/nemmy/actions/workflows/docker-build.yml)\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/cr4yfish/nemmy\"\u003e\n    \u003cimg src=\"https://i.imgur.com/OzAB6Y0.png\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n\u003ch3 align=\"center\"\u003eNemmy\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    The Neat Lemmy App for the Web. This project is focused on building a Lemmy App with the best possible User Experience.\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://nemmy.app/\"\u003eWebsite\u003c/a\u003e\n    ·\n    \u003ca href=\"https://play.google.com/store/apps/details?id=app.nemmy.twa\"\u003eGoogle Play Store\u003c/a\u003e\n    ·\n    \u003ca href=\"https://lemmy.world/c/nemmy\"\u003eLemmy Community\u003c/a\u003e\n    .\n    \u003ca href=\"https://github.com/Cr4yfish/Nemmy/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/Cr4yfish/Nemmy/issues\"\u003eRequest Feature\u003c/a\u003e\n    \n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"width: 100%; display: flex; justify-content: center; gap: 1rem;\"\u003e\n  \u003cimg src=\"https://i.imgur.com/OxkGnC4.png\" style=\"height: 500px; width: auto;\" \u003e\n  \u003cimg src=\"https://i.imgur.com/twzhIFG.png\" style=\"height: 500px; width: auto;\" \u003e\n  \u003cimg src=\"https://i.imgur.com/SGJFQuo.png\" style=\"height: 500px; width: auto;\" \u003e\n  \u003cimg src=\"https://i.imgur.com/BljmUFd.png\" style=\"height: 500px; width: auto;\" \u003e\n  \u003cimg src=\"https://i.imgur.com/OFc7Va7.png\" style=\"height: 500px; width: auto;\" \u003e\n  \u003cimg src=\"https://i.imgur.com/8tHc7vx.png\" style=\"height: 500px; width: auto;\" \u003e\n\n\u003c/div\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n# Notice\nNemmy will continue being down for an undefined amount of time since Vercel has suspended my account and will only allow me to continue deploying if I pay 20€/month for a pro account. I don't have that kind of money so all of my Web-projects (including Nemmy) will be on-hold until I win the lottery or something lol.\n\nAs for why I'm not moving my projects somewhere else: I have no motivation left after that whole fiasco. Maybe I'll come back someday - might even be tomorrow, I don't know yet.\n\n## About The Project\n\nNemmy is a Progressive Web App (PWA) for Lemmy. Lemmy is kinda like Reddit, but federated so a CEO can't just fuck over everyone.\nThe goal of Nemmy is to make using Lemmy on multiple devices a seamless experience.\n\nRight now Nemmy is in very early Development, however, feel free to visit the Website once in a while to see what's changed.\n\nIf you like the idea of Nemmy, this is the perfect opportunity for you to influence design decisions by submitting Feedback or Feature requests. You can do that on here in the [Issues Tab](https://github.com/Cr4yfish/Nemmy/issues) or the [Nemmy Community on Lemmy](https://lemmy.world/c/nemmy).\n\n##### Why Nemmy?\n\nThere are other good Apps for Lemmy out there, even other PWAs like [wefwef.app](wwefwef.app).\nWhat singles out Nemmy is not focusing on a single devices (e.g. Mobile-only design like wefwef or Desktop Only design like the default Lemmy Web UI) but making the user experience equally good on most devices.\n\n##### What's Lemmy?\n\nThe short version is, that Lemmy is similar to Reddit. The main difference is that Lemmy is Open-Source and Federated.\nThis means that there is no single huge \"Lemmy Server\" but many smaller \"instances\" of Lemmy hosted by different people. These instances can communicate with each other, so you can follow people on other instances and see their posts and comments.\n\n### Built With\n\n- Next.js\n- Lemmy JS-Client\n- Tailwind\n\n\n## Support\nCreating and hosting Nemmy on fast infrastructure costs time (money) and money. If you want to support me, you can do so by donating.\nSince this is a passion project, I don't expect or want to earn any money from it.\nAll of the donated money will be used **exclusively** to pay for the server and domain costs.\n\n- [BuyMeACoffee](https://www.buymeacoffee.com/cr4yfish)\n\n## Getting started\n\n### Production Setup\n\nHere you can choose between hosting it the conventional way and using the Docker image.\n\n#### Conventional\n\nFollow the development setup steps but instead of running `npm run dev` you run `npm run build` and then `npm run start`\n\n#### Docker\n\nThere are multiple ways to do this. Here is one example using a Dockerfile.\n\n1. Get the Docker Image link [here](https://github.com/cr4yfish/nemmy/pkgs/container/nemmy)\n2. Create the Dockerfile\n\n```docker\nFROM ghcr.io/cr4yfish/nemmy:[latest version] # :latest is not supported yet\n```\n\n3. Build and run\n\n```\ndocker build -t nemmy .\n```\n\n```\ndocker run nemmy\n```\n\nNemmy will now run on the local network. To be able to access the server from the internet, you'll have to open the port `3000`.\n\n### Setting your instance as default\nIn case you're hosting Nemmy as an UI for your own instance, you might want to set it as the default instance.\n\nTo do that, you can set the `NEXT_PUBLIC_DEFAULT_INSTANCE` environment variable to your instance's URL.\n\nThe instsance URL should be in the format of https://some.instance, for example https://lemmy.ml\n\n#### With Docker\n  \n  ```\n  docker run -e NEXT_PUBLIC_DEFAULT_INSTANCE=YOUR_INSTANCE nemmy\n  ```\n\n#### Without Docker\n\n  ```\n  NEXT_PUBLIC_DEFAULT_INSTANCE=YOUR_INSTANCE npm run start\n  ```\n\n### Development Setup\n\nTo setup Nemmy for development, there are only a few steps to take.\n\n1. Download and install Node.js\n2. (Optional) Create a fork if you intend to contribute to Nemmy\n3. Clone the Repository\n4. Install dependencies\n\n```\nnpm i\n```\n\n5. Run the development server\n\n```\nnpm run dev\n```\n\n## Roadmap for Q3 2023\n\n- [x] Basic APIs\n- [x] Voting / Interactions\n  - [x] Voting on Posts\n  - [x] Voting on Comments\n  - [x] Bookmarking Posts \u0026 Comments\n- [x] PWA installable\n- [x] Community Page\n- [x] Sort/Filter/Search\n  - [x] Search\n    - [x] Search for Communities\n    - [x] Search for Posts\n    - [x] Search for Users\n  - [x] Filter\n  - [x] Sorting\n  - [x] Explore Section\n- [x] Authentication\n  - [x] Login\n  - [x] Register\n  - [x] Support for multiple instances\n  - [x] Subscribing to Communities\n- [x] Creating Content\n  - [x] Creating Comments\n  - [x] Creating Posts\n  - [x] Creating Communities\n  - [x] Supporting _all_ Lemmy Markdown Features\n  - [x] Support Markdown inserts\n- [ ] User Page\n  - [x] Settings **\u003c- Backend done. Will add more stuff later**\n  - [x] Notifications\n  - [x] User Profile\n  - [x] User Posts\n  - [x] Bookmarks\n  - [x] User Comments\n  - [ ] Chat **\u003c- WIP**\n- [x] Sidebar\n  - [x] Subscribed Communities\n  - [x] Instance Info\n- [ ] Edit tools **\u003c- Next Step**\n  - [ ] Edit Comments\n  - [ ] Edit Posts\n- [ ] Moderation Tools\n  - [ ] Delete Posts/Comments\n  - [ ] Ban Users\n  - [ ] Lock Posts/Comments\n  - [ ] Modify Posts (e.g. change title, mark as NSFW)\n- [ ] Offline Features **\u003c- Is being worked on on another branch**\n  - [ ] Content Cache\n  - [ ] Upload when online\n  - [ ] Show UI without connection\n- [ ] Customization\n  - [ ] User Themes **\u003c-Research**\n  - [x] Dark/Light mode per User choice\n  - [x] Compact Style\n  - [ ] Classic Style (Like old.reddit) **\u003c-Design phase**\n- [ ] QoL Features\n  - [ ] Auto-Register to other instances\n  - [ ] Subscribe to the same community on multiple instances (like c/nemmy on Lemmy.world and Lemmy.ml)\n  - [ ] Bulk Block/Hide Communities with the same or similar Name\n  - [x] Subscribe/Unsubscribe from Communities while in Search mode (So you don't need to leave the Search page just to unsubscribe/subscribe)\n  - [ ] Improved Sorting\n- [ ] _Instanceless_ features\n  - [x] Create Communities regardless of instance\n  - [ ] Create Posts regardless of instance\n  - [ ] Unified Account cross-instances\n\nIdeas for Q4+\n\n- Use GPT3.5 to sum up large text bodies\n- Improve search Indexing of Posts\n- Make every single feature of the App 100% usuable for Blind, deaf and color blind people\n- Add a keyword ban (e.g. you don't want anything with \"Beans\" in your feed)\n- Improve PWA Experience until it feels like a native app\n- Think about making a native app\n\n## FOSS\n\n- Nemmy will always be 100% Open Source, no strings attached.\n- Nemmy will always be 100% free to use\n\n## Security\n\nTo make sure Nemmy is safe to use, there are multiple code scanners scanning every commit.\nHumans can also scan the code since it's 100% open source and [create a security issue](https://github.com/cr4yfish/nemmy/security).\n\n[contributors-shield]: https://img.shields.io/github/contributors/Cr4yfish/Nemmy.svg?style=for-the-badge\n[contributors-url]: https://github.com/Cr4yfish/Nemmy/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/Cr4yfish/Nemmy.svg?style=for-the-badge\n[forks-url]: https://github.com/Cr4yfish/Nemmy/network/members\n[stars-shield]: https://img.shields.io/github/stars/Cr4yfish/Nemmy.svg?style=for-the-badge\n[stars-url]: https://github.com/Cr4yfish/Nemmy/stargazers\n[issues-shield]: https://img.shields.io/github/issues/Cr4yfish/Nemmy.svg?style=for-the-badge\n[issues-url]: https://github.com/Cr4yfish/Nemmy/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcr4yfish%2Fnemmy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcr4yfish%2Fnemmy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcr4yfish%2Fnemmy/lists"}