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.
- 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. The project contains the
hacktoberfest
topic, so the PRs will be automatically counted towards Hacktoberfest. However, profile update PRs will have the labelinvalid
and therefore won't be counted towards this event.
- 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.
Check out the website: https://linkfree.eddiehub.io
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, usenvm use v16.17.0
). If this is not installed, runnvm install v16.17.0
.
You can use Gitpod in the cloud or you can set this up locally with the following steps
- copy the
.env.example
file to.env
and update any details required - mongodb is required, it is possible to use
docker-compose up
to start the mongodb service npm install
npm run dev
See what components are available
npm run storybook
- navigate to http://localhost:6006
- Create a story file in
stories/components
with the same filename as the component but append.stories.js
to the filename - Import the component into the story file, see the existing example
- Set the default arguments by looking at the requirements from the component itself
- Run
npm run storybook
to see the added components and visit http://localhost:6006 to interact with them in the browser
Alternatively, skip all the steps by using
We use Playwright for writing automated end to end (e2e) tests.
- Install Playwright dependencies
npx playwright install --with-deps
- Run tests
npm run test
npm run test
> linkfree@1.0.0 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
- 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.
In the data
directory, create a .json
file with the same name as your GitHub username. For example, if your GitHub username is eddiehub
, create a file named eddiehub.json
. This will ensure that your username 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",
"tags": ["javascript", "typescript"],
"socials": [
{ "platform": "twitter", "url": "https://twitter.com/YOUR_TWITTER_USERNAME" },
{ "platform": "github", "url": "https://github.com/YOUR_GITHUB_USERNAME" }
],
"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.
Check Icons.md for all the supported icons.
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"
}
LinkFree is licensed under the MIT License - see the LICENSE file for details.
Thanks a lot for spending your time helping LinkFree grow. Thanks a lot! Keep rocking π»
This project needs a βοΈ from you. Don't forget to leave a star βοΈ