/LinkFree

Open source alternative to LinkTree

Primary LanguageJavaScriptMIT LicenseMIT

Open in GitPod Uptime License: MIT GitHub release (latest by date)

Note

  • To add your profile use the main branch
  • To add new features use nextjs as we are migrating from React to NextJS

Warning (2)

Your profile will need to be deployed to appear, we try to collect a few together before deploying

A note for Hacktoberfest participants:

  • Pull requests which add or edit your information in a public/data/${yourname}.json file will NOT be counted for Hacktoberfest.
  • Pull requests which improve the codebase, documentation, or other aspects of the project and are in line with the core values of the event will count. Maintainers will opt-in these PRs by applying the hacktoberfest-accepted label.

LinkFree by EddieHub

  • LinkFree connects audiences to all of your content with just one link. It is an open-source alternative to Linktree implemented in JavaScript.
  • It was initially created on a YouTube live stream.

Eddie Jaoude's LinkFree profile GIF

Example using Gitpod, ephemeral dev environment in the cloud (free)

Gitpod GIF with progress bar

👨‍💻 Demo

Check out the website: https://linkfree.eddiehub.io

👇 Prerequisites

Before contributing or adding a new feature, please make sure you have already installed the following tools:

  • Git
  • NodeJs (Works with Node LTS version v16.17.0)
  • Optional NVM: Switch Node version by using nvm use (on Windows, use nvm use v16.17.0). If this is not installed, run nvm install v16.17.0.

🛠️ Installation Steps

  1. Fork the project
  2. Clone the project by running git clone https://github.com/<your-username>/LinkFree.git
  3. Navigate to the project directory cd LinkFree
  4. Install dependencies with npm ci
  5. Run npm start
  6. Optional: Run the tests with npm run cypress:run

Warning: After adding your profile, you'll not see it on the home page; you can see your profile in the main menu by running the command npm run generate.

Alternatively, skip all the steps by using Gitpod Ready-to-Code

👨‍💻 Contributing

  • Contributions make the open source community such an amazing place to learn, inspire, and create.
  • Any contributions you make are truly appreciated.
  • Check out our contribution guidelines for more information.

🎭 To Add Your Profile

Create a file named using your GitHub username username.json in the directory public/data, this will ensure it is unique.

Optional fields: links, milestones and type(personal | community)
Looking for inspiration? You can view the following profiles for an example:

Your brand new file should look something similar to this one:

Note: add/remove links objects to customise your profile, milestones are optional

{
  "name": "YOUR NAME",
  "type": "personal",
  "bio": "Open Source Enthusiast!",
  "avatar": "https://github.com/YOUR_GITHUB_USERNAME.png",
  "links": [
    {
      "name": "Follow me on GitHub",
      "url": "https://github.com/YOUR_GITHUB_USERNAME",
      "icon": "github"
    },
    {
      "name": "Follow me on Twitter",
      "url": "https://twitter.com/YOUR_TWITTER_USERNAME",
      "icon": "twitter"
    }
  ],
  "milestones": [
    {
      "title": "Started Freelancing",
      "date": "December 2021",
      "icon": "dollar",
      "color": "grey",
      "description": "Started freelancing",
      "url": "https://www.eddiejaoude.io/"
    }
  ]
}

Your URL will be https://linkfree.eddiehub.io/<yourusername>

For example: https://linkfree.eddiehub.io/eddiejaoude

To include your avatar, You just have to replace <yourusername> with your github username in the format of https://github.com/<yourusername>.png and it will automatically be fetched from github account.

For example: http://github.com/eddiejaoude.png

Note: after your PR is merged, the project still needs to be deployed for your profile to be displayed

A simple gif version of adding your profile

Linkfree adding profile GIF

Available Icons:

Check Icons.md for all the supported icons.

Single user mode

If you wish to self-host this app for a single user, follow the same steps as above, but then in the file src/config/user.json add your username.

For example

{
  "username": ""
}

🛡️ License

LinkFree is licensed under the MIT License - see the LICENSE file for details.

💪 Thanks to all Contributors

Thanks a lot for spending your time helping LinkFree grow. Thanks a lot! Keep rocking 🍻

Contributors

🙏 Support

This project needs a ⭐️ from you. Don't forget to leave a star ⭐️