Skip to content
This repository has been archived by the owner on Aug 7, 2024. It is now read-only.
/ BioDrop Public archive

Connect to your audience with a single link. Showcase the content you create and your projects in one place. Make it easier for people to find, follow and subscribe.

License

Notifications You must be signed in to change notification settings

EddieHubCommunity/BioDrop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

Warning (2)

In order for your profile to appear, it must be deployed. We try to collect a few profiles before we begin to deploy.

A note for Hacktoberfest participants:

  • Pull requests which add or edit your information in a 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 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.

QUICKSTART

You can use Gitpod in the cloud or you can set this up locally with the following steps

  1. copy the .env.example file to .env and update any details required
  2. mongodb is required, it is possible to use docker-compose up to start the mongodb service
  3. npm install
  4. npm run dev

Storybook

See what components are available

  1. npm run storybook
  2. navigte to http://localhost:6006

Contributing to Storybook

  1. Create story file in stories/components with the same filename as the component but append .stories.js to the filename
  2. Import the component into the story file, see existing example
  3. Set the default arguments by looking at the requirements from the component itself
  4. Run npm run storybook to see the added components and interact with them in the browser and visit http://localhost:6006

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

Tests

We use Playwright for writing automated end to end (e2e) tests.

  1. Install Playwright dependencies npx playwright install --with-deps
  2. Run tests npm run test
npm run test

> [email protected] test
> npx playwright test


Running 18 tests using 4 workers

  10 skipped
  8 passed (13s)

To open last HTML report run:

  npx playwright show-report

πŸ‘¨β€πŸ’» 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 data, this will ensure it is unique.

Optional fields: 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",
  "displayStatsPublic": true,
  "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 have to replace <yourusername> with your GitHub username in the format of https://github.com/<yourusername>.png and it will automatically be fetched from your GitHub account.

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

Note: after your PR gets 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 config/user.json add your username.

For example

{
  "username": "eddiejaoude"
}

πŸ›‘οΈ 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 ⭐️

About

Connect to your audience with a single link. Showcase the content you create and your projects in one place. Make it easier for people to find, follow and subscribe.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

 

Packages