AlternativeOSS is an open-source platform that helps users discover open-source alternatives to popular tools. Our mission is to promote open-source software adoption by making it easier for users to find high-quality alternatives to commercial products.
- Discover Alternatives: Find open-source alternatives to popular proprietary software
- Categories: Browse alternatives by categories
- Detailed Comparisons: Compare features, licenses, and community metrics
- Submit Projects: Contribute by submitting new open-source alternatives
- Framework: Next.js (App Router)
- Language: TypeScript
- UI Components: Shadcn UI / Radix UI
- Styling: Tailwind CSS
- Database: Postgres with Neon and Drizzle ORM
- Form Handling: React Hook Form with Zod validation
- URL State Management: nuqs
- Server Actions: zsa-react
-
Clone the repository:
git clone https://github.com/yourusername/alternativeoss.git cd alternativeoss
-
Install dependencies:
pnpm install
-
Set up environment variables:
cp .env.example .env.local
Then edit
.env.local
with your configuration. -
Run the development server:
pnpm dev
-
Open http://localhost:3000 in your browser.
-
Generate database migrations:
pnpm db:generate
-
Apply migrations:
pnpm db:migrate
-
(Optional) Start the database studio:
pnpm db:studio
We follow strict TypeScript and React best practices:
- Functional components with TypeScript types
- Server Components where possible
- Minimal client-side JavaScript
- Server Components (RSC) for most UI
- Client components wrapped in Suspense with fallbacks
- Image optimization with WebP format
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
- Website: alternativeoss.com
- GitHub: github.com/paulboguta/alternativeoss
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
If you want to contribute and suggest tools to add you can for now:
A) Go to Submit Form
B) Send me an email at paul.boguta@gmail.com
C) Create an issue, suggesting a tool but providing all required info:
- github repo
- name
- website url
- your email
- your name
- project description (optionally)