Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

LynkrApp/Website

Repository files navigation

Lynkr Logo

Lynkr

The ultimate free & open source link in bio platform

Create beautiful, organized link pages that drive engagement and grow your audience.

GitHub Stars GitHub Issues GitHub License Discord

🌐 Live Demo β€’ πŸ“– Documentation β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature


✨ Features

  • πŸ†“ 100% Free & Open Source - No hidden fees, no locked features
  • ⚑ Lightning Fast - Built with Next.js for optimal performance
  • 🎨 Fully Customizable - Themes, colors, layouts, and animated backgrounds
  • πŸ“Š Built-in Analytics - Track clicks, views, and engagement metrics
  • πŸ—‚οΈ Organized Sections - Group your links for better organization
  • πŸ”’ Privacy-First - GDPR compliant with complete data ownership
  • πŸ“± Mobile Responsive - Perfect on all devices
  • πŸ” Secure Authentication - OAuth integration with Google, GitHub, and Discord
  • 🎯 Drag & Drop - Intuitive interface for managing links
  • πŸ“€ Data Export - Download your data anytime in JSON format

πŸ› οΈ Tech Stack

πŸƒβ€β™‚οΈ Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn or bun
  • MySQL database

Installation

  1. Clone the repository

    git clone https://github.com/LynkrApp/Website.git
    cd Website
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    bun install
  3. Set up environment variables

    cp .env.example .env.local

    Fill in your environment variables:

    # Database
    DATABASE_URL="mysql://USER:PASSWORD@HOST:PORT/DATABASEr"
    # NextAuth
    NEXTAUTH_URL="http://localhost:3000"
    NEXTAUTH_SECRET="your-secret-key"
    # OAuth Providers
    GOOGLE_CLIENT_ID="your-google-client-id"
    GOOGLE_CLIENT_SECRET="your-google-client-secret"
    GITHUB_CLIENT_ID="your-github-client-id"
    GITHUB_CLIENT_SECRET="your-github-client-secret"
    DISCORD_CLIENT_ID="your-discord-client-id"
    DISCORD_CLIENT_SECRET="your-discord-client-secret"
  4. Set up the database

    npx prisma migrate dev
    npx prisma generate
  5. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    bun dev
  6. Open your browser Navigate to http://localhost:3000

πŸ“ Project Structure

β”œβ”€β”€ components/ # Reusable UI components
β”‚ β”œβ”€β”€ core/ # Core application components
β”‚ β”œβ”€β”€ layout/ # Layout components
β”‚ β”œβ”€β”€ meta / # Meta components
β”‚ β”œβ”€β”€ root/ # Root level components (navbar, footer)
β”‚ β”œβ”€β”€ shared/ # Shared components across features
β”‚ └── utils/ # Utility components
β”œβ”€β”€ hooks/ # Custom React hooks
β”œβ”€β”€ types/ # All typings
β”œβ”€β”€ lib/ # Utility libraries and configurations
β”œβ”€β”€ pages/ # Next.js pages (file-based routing)
β”‚ β”œβ”€β”€ api/ # API routes
β”‚ β”œβ”€β”€ admin/ # Admin dashboard pages
β”‚ └── auth/ # Authentication pages
β”œβ”€β”€ prisma/ # Database schema and migrations
β”œβ”€β”€ scripts/ # Database migration scripts
β”œβ”€β”€ public/ # Static assets
β”œβ”€β”€ styles/ # Global styles
└── utils/ # Helper functions

🀝 Contributing

We love contributions! Please see our Contributing Guide for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Run tests: npm run test
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

Code Style

We use ESLint and Prettier for code formatting. Run the following commands:

npm run lint # Check for linting errors
npm run lint:fix # Fix linting errors

πŸ“œ Scripts

npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run postinstall # Generate Prisma client

πŸ› Bug Reports

If you find a bug, please create an issue with:

  • Clear description of the problem
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots (if applicable)
  • Environment details

πŸ’‘ Feature Requests

We welcome feature requests! Please:

  • Check existing issues first
  • Describe the feature clearly
  • Explain the use case
  • Add mockups/examples if helpful

πŸ“„ License

This project is licensed under the AGPL 3 License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Vercel for hosting
  • Prisma for database management
  • Radix UI for accessible components
  • Lucide for beautiful icons
  • All our amazing contributors!

🌟 Support

πŸ“Š Status


About

The ultimate free & open source link in bio platform

Resources

License

Stars

Watchers

Forks

Contributors 2

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /