{"id":14070200,"url":"https://github.com/piotrkulpinski/openalternative","last_synced_at":"2025-10-30T20:41:32.364Z","repository":{"id":225025389,"uuid":"764555401","full_name":"piotrkulpinski/openalternative","owner":"piotrkulpinski","description":"A community driven list of open source alternatives to proprietary software and applications.","archived":false,"fork":false,"pushed_at":"2025-06-25T13:11:04.000Z","size":34645,"stargazers_count":5109,"open_issues_count":2,"forks_count":219,"subscribers_count":28,"default_branch":"main","last_synced_at":"2025-10-26T09:35:04.798Z","etag":null,"topics":["alternatives","aws-s3","better-auth","coss","cron","foss","inngest","nextjs","nextjs15","open-source","oss","postgresql","stripe","vercel"],"latest_commit_sha":null,"homepage":"https://openalternative.co","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/piotrkulpinski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":"FUNDING.yml","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},"funding":{"github":"piotrkulpinski"}},"created_at":"2024-02-28T09:43:12.000Z","updated_at":"2025-10-26T08:12:55.000Z","dependencies_parsed_at":"2024-11-06T17:18:37.369Z","dependency_job_id":"d0aa3d8c-f499-4ea7-bb7f-0304d2b92942","html_url":"https://github.com/piotrkulpinski/openalternative","commit_stats":{"total_commits":730,"total_committers":1,"mean_commits":730.0,"dds":0.0,"last_synced_commit":"5c7afb9b81d7e3bedb03cf45d78b02a0850b14a6"},"previous_names":["piotrkulpinski/openalternative"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/piotrkulpinski/openalternative","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrkulpinski%2Fopenalternative","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrkulpinski%2Fopenalternative/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrkulpinski%2Fopenalternative/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrkulpinski%2Fopenalternative/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/piotrkulpinski","download_url":"https://codeload.github.com/piotrkulpinski/openalternative/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrkulpinski%2Fopenalternative/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281880643,"owners_count":26577696,"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","status":"online","status_checked_at":"2025-10-30T02:00:06.501Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["alternatives","aws-s3","better-auth","coss","cron","foss","inngest","nextjs","nextjs15","open-source","oss","postgresql","stripe","vercel"],"created_at":"2024-08-13T07:07:33.321Z","updated_at":"2025-10-30T20:41:32.352Z","avatar_url":"https://github.com/piotrkulpinski.png","language":"TypeScript","readme":"![OpenAlternative](https://openalternative.co/opengraph.png)\n\n\u003cp align=\"center\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Discover open source alternatives to popular software.\n  \u003cbr /\u003e\n  \u003ca href=\"https://openalternative.co\"\u003e\u003cstrong\u003eLearn more »\u003c/strong\u003e\u003c/a\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n  \u003ca href=\"https://openalternative.co\"\u003eWebsite\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/piotrkulpinski/openalternative/issues\"\u003eIssues\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n   \u003ca href=\"https://github.com/piotrkulpinski/openalternative/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/piotrkulpinski/openalternative\" alt=\"Github Stars\" /\u003e\u003c/a\u003e\n   \u003ca href=\"https://uptime.betterstack.com/?utm_source=status_badge\"\u003e\u003cimg src=\"https://uptime.betterstack.com/status-badges/v1/monitor/1lyos.svg\" alt=\"Better Stack\" /\u003e\u003c/a\u003e\n   \u003ca href=\"https://github.com/piotrkulpinski/openalternative/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/piotrkulpinski/openalternative\" alt=\"License\" /\u003e\u003c/a\u003e\n   \u003ca href=\"https://github.com/piotrkulpinski/openalternative/pulse\"\u003e\u003cimg src=\"https://img.shields.io/github/commit-activity/m/piotrkulpinski/openalternative\" alt=\"Commits-per-month\" /\u003e\u003c/a\u003e\n   \u003ca href=\"https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/piotrkulpinski/openalternative\"\u003e\n   \u003cimg alt=\"open in devcontainer\" src=\"https://img.shields.io/static/v1?label=Dev%20Containers\u0026message=Enabled\u0026color=blue\u0026logo=visualstudiocode\" /\u003e\n   \u003c/a\u003e\n   \u003ca href=\"https://news.ycombinator.com/item?id=39639386\"\u003e\u003cimg src=\"https://img.shields.io/badge/Hacker%20News-156-%23FF6600\" alt=\"Hacker News\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.producthunt.com/posts/openalternative?utm_source=badge-top-post-badge\u0026utm_medium=badge\u0026utm_souce=badge-openalternative\" target=\"_blank\"\u003e\u003cimg src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=443404\u0026theme=light\u0026period=daily\" alt=\"OpenAlternative - Discover open source alternatives to popular software | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.producthunt.com/posts/openalternative?utm_source=badge-featured\u0026utm_medium=badge\u0026utm_souce=badge-openalternative\" target=\"_blank\"\u003e\u003cimg src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=443404\u0026theme=light\" alt=\"OpenAlternative - Discover open source alternatives to popular software | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## About this project\n\nOpenAlternative is a community driven list of **open source alternatives to proprietary software** and applications.\n\nOur goal is to be your first stop when researching for a new open source service to help you grow your business. We will help you **find alternatives** of the products you already use.\n\nJoin us in creating the biggest **directory of open source software**.\n\n## Other projects\n\nWe are also working on other projects you might be interested in:\n\n- [EuroAlternative](https://euroalternative.co) - A directory of European alternatives to Big Tech giants.\n- [DevSuite](https://devsuite.co) - A collection of tools for developers.\n- [Dirstarter](https://dirstarter.com) - A Next.js boilerplate for creating directory websites.\n\n## Sponsoring\n\nOpenAlternative is an GPL-3.0-licensed open source project with its ongoing development made possible entirely by the support of these awesome backers. If you'd like to join them, please consider [sponsoring OpenAlternative's development](https://github.com/sponsors/piotrkulpinski).\n\nIf you'd like to support the project, you could also consider [buying our Next.js boilerplate](https://dirstarter.com) which is the foundation of creating directory websites, just like this one.\n\n## Services\n\nOpenAlternative uses the following third-party services:\n\n- Database: [Neon](https://neon.tech)\n- Analytics: [Plausible](https://plausible.io), [PostHog](https://posthog.com)\n- Newsletter: [Beehiiv](https://go.openalternative.co/beehiiv)\n- Scraping: [Firecrawl](https://go.openalternative.co/firecrawl)\n- Background Jobs: [Inngest](https://inngest.com)\n- File Storage: [AWS S3](https://aws.amazon.com/s3)\n- Payments: [Stripe](https://stripe.com)\n- Screenshots: [ScreenshotOne](https://go.openalternative.co/screenshotone)\n\nMake sure to set up accounts with these services and add the necessary environment variables to your `.env` file.\n\n## Project Structure\n\nOpenAlternative is built in Next.js App Router. The project structure is organized as follows:\n\n- `/app` - Application routes and layouts (Next.js App Router)\n- `/components` - Reusable React components\n- `/lib` - Core utilities and business logic\n- `/actions` - Server actions\n- `/utils` - Helper functions and utilities\n- `/hooks` - React hooks\n- `/contexts` - React context providers\n- `/services` - Service integrations\n- `/emails` - Email templates\n- `/server` - Server-side code\n- `/functions` - Utility functions\n- `/config` - Configuration files\n- `/content` - Content management\n- `/prisma` - Prisma schema and utilities\n- `/types` - TypeScript type definitions\n- `/public` - Static assets\n\n## Development\n\nThis project uses [Bun](https://bun.sh/) as the package manager and runtime. Make sure you have Bun installed before proceeding.\n\nTo set up the project for development:\n\n1. Clone the repository\n2. Run `bun install` to install all dependencies\n3. Set up the required environment variables (see below)\n4. Run `bun run db:push` to push the Prisma schema to the database\n5. Run `bun run dev` to start the application in development mode\n\n### Environment Variables\n\nRefer to the `.env.example` file for a complete list of required variables.\n\nCopy the `.env.example` file to `.env` and update the variables as needed:\n\n```bash\ncp .env.example .env\n```\n\n## 🧞 Commands\n\nAll commands are run from the root of the project, from a terminal:\n\n| Command           | Action                                           |\n| :---------------- | :----------------------------------------------- |\n| `bun install`     | Installs dependencies                            |\n| `bun run dev`     | Starts local dev server at `localhost:5173`      |\n| `bun run build`   | Build production application                     |\n| `bun run start`   | Preview production build locally                 |\n| `bun run lint`    | Run linter                                       |\n| `bun run format`  | Format code                                      |\n| `bun run typecheck` | Run TypeScript type checking                   |\n| `bun run db:generate` | Generate Prisma client                       |\n| `bun run db:studio` | Start Prisma Studio                           |\n| `bun run db:push` | Push Prisma schema to database                  |\n| `bun run db:pull` | Pull Prisma schema from database                |\n| `bun run db:reset` | Reset Prisma schema                            |\n\n## Deployment\n\nThe project is set up for deployment on Vercel. To deploy manually:\n\n1. Build the project: `bun run build`\n2. Start the production server: `bun run start`\n\nEnsure all environment variables are properly set in your production environment.\n\n## License\n\nOpenAlternative is licensed under the [GPL-3.0 License](LICENSE).\n","funding_links":["https://github.com/sponsors/piotrkulpinski"],"categories":["By Industry","TypeScript","其他","Other","Others","miscellaneous","Projects (Open Source, \u003e1k stars)","\u003ca name=\"TypeScript\"\u003e\u003c/a\u003eTypeScript"],"sub_categories":["Gaming","网络服务_其他","Other"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiotrkulpinski%2Fopenalternative","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiotrkulpinski%2Fopenalternative","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiotrkulpinski%2Fopenalternative/lists"}