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. Maintainers will opt-in these PRs by applying the
hacktoberfest-accepted
label.
- 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
> [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
- 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.
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",
"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 โญ๏ธ