Miscellaneous
Discover open source alternatives to popular software.
Learn more »
Website
·
Issues
OpenAlternative is a community driven list of open source alternatives to proprietary software and applications.
Our 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.
Join us in creating the biggest directory of open source software.
OpenAlternative 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.
OpenAlternative is a monorepo project with two main applications:
apps/web
apps/admin
This project uses Bun as the package manager and runtime. Make sure you have Bun installed before proceeding.
To set up the project for development:
bun install
in the root directory to install all dependenciesbun run db:push
to push the Prisma schema to the databasebun run dev
to start both the web and admin applications in development modeRefer to the .env.example
file for a complete list of required variables.
To manage environment variables across the monorepo, you have two options:
Create symlinks to the root .env file:
ln -s ../../.env apps/web/.env
ln -s ../../.env apps/admin/.env
ln -s ../.env packages/database/.env
mklink apps\web\.env ..\..\\.env
mklink apps\admin\.env ..\..\\.env
mklink packages\database\.env ..\.\.env
Create separate .env files for each app and package:
.env.example
file to each app and package directory.env
Choose the method that best fits your development workflow and security requirements.
All commands are run from the root of the project, from a terminal:
Command | Action |
---|---|
bun install | Installs dependencies |
bun run dev | Starts both web and admin apps in development mode |
bun run web dev | Starts web app at localhost:5173 |
bun run admin dev | Starts admin app at localhost:5174 |
bun run build | Build both apps for production |
bun run start | Preview production build locally |
bun run lint | Run linter |
bun run format | Format code |
bun run typecheck | Run TypeScript type checking |
bun run db:generate | Generate Prisma client |
bun run db:studio | Start Prisma Studio |
bun run db:push | Push Prisma schema to database |
bun run db:pull | Pull Prisma schema from database |
bun run db:reset | Reset Prisma schema |
OpenAlternative uses the following third-party services:
Make sure to set up accounts with these services and add the necessary environment variables to your .env
file.
The project is set up for deployment on Vercel. Each app (web and admin) can be deployed separately.
To deploy manually:
bun run build
bun run web start
bun run admin start
Ensure all environment variables are properly set in your production environment.
OpenAlternative is licensed under the GPL-3.0 License.