{"id":19371415,"url":"https://github.com/michael-ortiz/linkifybio","last_synced_at":"2026-06-02T16:03:23.002Z","repository":{"id":219154000,"uuid":"747902196","full_name":"michael-ortiz/LinkifyBio","owner":"michael-ortiz","description":"A links in bio public page for your social media links made with React and AWS 🔗💻📱","archived":false,"fork":false,"pushed_at":"2024-07-12T03:48:49.000Z","size":11100,"stargazers_count":10,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-16T15:13:51.865Z","etag":null,"topics":["aws","link-in-bio","open-source","open-source-project","react"],"latest_commit_sha":null,"homepage":"https://linkifybio.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michael-ortiz.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-24T21:36:04.000Z","updated_at":"2026-01-06T18:09:01.000Z","dependencies_parsed_at":"2024-04-17T00:26:04.512Z","dependency_job_id":"7c7055a6-a719-4af6-a703-85813c3f2eeb","html_url":"https://github.com/michael-ortiz/LinkifyBio","commit_stats":null,"previous_names":["michael-ortiz/linkifybio","mortiz-77/linkifybio"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/michael-ortiz/LinkifyBio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael-ortiz%2FLinkifyBio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael-ortiz%2FLinkifyBio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael-ortiz%2FLinkifyBio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael-ortiz%2FLinkifyBio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michael-ortiz","download_url":"https://codeload.github.com/michael-ortiz/LinkifyBio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael-ortiz%2FLinkifyBio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33829346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","link-in-bio","open-source","open-source-project","react"],"created_at":"2024-11-10T08:18:22.268Z","updated_at":"2026-06-02T16:03:22.982Z","avatar_url":"https://github.com/michael-ortiz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# linkifybio\n\n## Introduction\n\nThis is a full stack application that includes a public landing page for your links in bio, and an authenticated console to manage everything about you page.\n\n## Infrastructure Stack\n\nThis application is meant to run on AWS.\n\nThese are the services used to run the application:\n\n* S3 for static website hosting\n* Lambda for backend APIs (Node.js Express + Dynamoose)\n* DynamoDB for database\n* Cognito for user creations and authentication\n* Cloudfront for CDN\n* Route53 for DNS management\n* SSM Paramstore for secrets (Social Federetion Credentials: ex Google)\n\n## Run Application\n\n### Prerequisites\n\n#### localstack\n\nThis will install a local environment to run some AWS Services. Specifically we will use S3 and DynamoDB.\n\n```\nbrew install localstack/tap/localstack-cli\n```\n\n#### aws-local\n\nUsed to create S3 Bucket for profile images when starting the application.\n\n```\npip install awscli-local\n```\n\nor if using pip3\n\n```\npip3 install awscli-local\n```\n\n### Local Run Steps\n\nTo run this application, first go to director `cd ./lambda-api` and run:\n\n```sh\nnpm install\nnpm start:local\n```\n \nThis will start the backend on port `3500` and create the s3 bucket for profile images if not already created.\n\nNext, open a new terminal tab, and go to `cd ./react` and run:\n\n```sh\nnpm install\nnpm run dev:local\n```\n\nNext, open `http://localhost:5173` in your browser and use the application. \n\n### Note\nAuthentication is `disabled` for local development.\n\nIf you would like to connect to our actual backend, you  can do so by running:\n\n```\nnpm run dev\n```\n\nThis will connect to the lambda in AWS and will require Cognito for authentication.\n\n## Deploy to AWS\n\nThe whole infrastructure is located in the `terraform` folder.\n\n#### Important\n\nThe backend in Terraform expects that you use a valid domain name from Route 53. If you rather not use a domain, you will need to remove references from Terraform to not use a Route53 record, and cloudfront.\n\nYou will need to change the following local variables to use your own domain in `vars.tf`.\n\n\n```\nlocals {\n  domain_name = \"YOUR_DOMAIN_NAME\"\n}\n```\n\nIf you have not configured an OIDC role for GitHub Actions, you can do so by enabling the following flag in the `oidc.tf` `github-actions-oidc` module.\n\n```\ncreate_oidc_provider = true\n```\n\nIf you already created it, set the value to `false`\n\nOnce you deploy this, in react app .env files, update the `VITE_API_URL` to your lambda API url. Then, you can use GitHub Actions to build and deploy your application.\n\nIn GitHub actions secrets and variables, set a new repository variable `AWS_ACCOUNT_ID` with the AWS account ID that you want to deploy into.\n\nNext, in the `on_release.yaml` workflow under `.github/`, update the `linkifybio` references to your domain name used in terraform. This will ensure that you can deploy to your already created resources in terraform. \n\nIn the react app, there are references to `linkifybio.com` / `linkifybio` that are used for Cognito redirects and branding purposes. I recommend searching for this keyword and changing any references to your domain name throughout the app.\n\nPush your changes, and wait for the workflow to run and deploy your application.\n\nIf you have any problems, please open an issue and I will try to answer as soon as possible!\n\nEnjoy!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichael-ortiz%2Flinkifybio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichael-ortiz%2Flinkifybio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichael-ortiz%2Flinkifybio/lists"}