Code Monkey home page Code Monkey logo

linkfree's Introduction

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

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. The project contains the hacktoberfest topic, so the PRs will be automatically counted towards Hacktoberfest. However, profile update PRs will have the label invalid and therefore won't be counted towards this event.

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, an 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. navigate to http://localhost:6006

Contributing to Storybook

  1. Create a 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 the 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 visit http://localhost:6006 to interact with them in the browser

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

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.

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 โญ๏ธ

linkfree's People

Contributors

eddiejaoude avatar panquesito7 avatar kumarsonsoff3 avatar fi-krish avatar schmelto avatar pradumnasaraf avatar kendalldoescoding avatar fayasnoushad avatar cahllagerfeld avatar emmadawsondev avatar shivam-sharma7 avatar vyvy-vi avatar cbid2 avatar dan-mba avatar nathgoutam93 avatar karlgusta avatar ns007-dev avatar bslaven avatar mohan-murali avatar dunnjacoba avatar akshay-bendadi avatar jaynarayan-vaishnav avatar kunal0007 avatar iason9 avatar kartikgajjar7 avatar goobric avatar vedanshiprajapati avatar stemount avatar shivansh-yadav13 avatar saptarshisarkar12 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.