Skip to content

LynkrApp/Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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 3

  •  
  •  
  •