Your open-source link-in-bio builder.
- Lightning Fast: Pages load in under 200ms
- Customizable Themes: Choose from beautiful themes or customize colors
- Built-in Analytics: Track page views and link clicks
- Open Source: MIT licensed and community-driven
- Privacy First: Your data stays yours
- Easy Deployment: Deploy anywhere with Docker or Vercel
- Frontend: Next.js 14, React, TypeScript, Tailwind CSS
- Backend: Next.js API Routes, Supabase
- Database: PostgreSQL (via Supabase)
- Authentication: Custom JWT-based auth
- Deployment: Vercel, Docker
- Node.js 18+
- npm or yarn
- Supabase account (for database)
-
Clone the repository
git clone https://github.com/madnansultandotme/openbio.git cd openbio -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Fill in your Supabase credentials and other configuration.
-
Set up the database
- Create a new Supabase project
- Run the SQL schema from
database/schema.sql - Update your
.env.localwith Supabase credentials
-
Run the development server
npm run dev
-
Open your browser Navigate to
http://localhost:3000
src/
├── app/ # Next.js app router pages
│ ├── api/ # API routes
│ ├── dashboard/ # Dashboard pages
│ ├── [username]/ # Public profile pages
│ └── page.tsx # Landing page
├── components/ # React components
│ ├── ui/ # Reusable UI components
│ ├── auth/ # Authentication components
│ ├── dashboard/ # Dashboard-specific components
│ └── profile/ # Public profile components
├── lib/ # Utility functions and configurations
├── types/ # TypeScript type definitions
└── styles/ # Global styles
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run type-check- Run TypeScript type checking
The database schema is located in database/schema.sql. To update the database:
- Make changes to the schema file
- Run the updated SQL in your Supabase dashboard
- Update TypeScript types in
src/types/database.ts
- Fork this repository
- Connect your fork to Vercel
- Add environment variables in Vercel dashboard
- Deploy!
# Build the image
docker build -t openbio .
# Run the container
docker run -p 3000:3000 --env-file .env.local openbioOpenBio can be deployed on any platform that supports Node.js:
- Vercel
- Netlify
- Railway
- DigitalOcean App Platform
- AWS Amplify
- Your own server with PM2
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests if applicable
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js for the amazing React framework
- Supabase for the backend infrastructure
- Tailwind CSS for the utility-first CSS framework
- Lucide for the beautiful icons
- 📧 Email: [email protected]
- 🐛 Issues: GitHub Issues
- 📖 Documentation: Markdown Documentation
Made with ❤️ by the OpenBio community