{"repo":"slymnoyann/hey-1","free":true,"listed":false,"github":"https://github.com/slymnoyann/hey-1","clone":"git clone https://github.com/slymnoyann/hey-1.git","description":"Hey is a decentralized and permissionless social media app built with Lens Protocol 🌿","language":"TypeScript","stars":29380,"topics":["blockchain","crypto","dapp","graphql","hacktoberfest","lens-protocol","nextjs","react","social-media","tailwindcss","turborepo","typescript","vitest","wagmi","web3"],"license":"GPL-3.0","category":"dapp_starter","readme_excerpt":"# Hey Monorepo\n\n## Requirements\n\nTo start working with the Hey monorepo, ensure the following tools are installed:\n\n- [Node.js](https://nodejs.org/en/download/) (v22 or higher) - the JavaScript runtime used in this project.\n- [pnpm](https://pnpm.io/installation) - the package manager used throughout this repository.\n- [Postgres App](https://postgresapp.com/) - the Postgres database used in development.\n\n## Installation\n\nThis repository uses [pnpm workspaces](https://pnpm.io/workspaces) to manage multiple packages within a monorepo structure.\n\n### Clone the Repository\n\n```bash\ngit clone git@github.com:bigint/hey.git\n```\n\n### Install NVM and pnpm\n\nOn macOS, you can install both with Homebrew:\n\n```bash\nbrew install nvm pnpm\n```\n\n### Install Node.js\n\nUse `nvm` to install the required Node.js version:\n\n```bash\nnvm install\n```\n\n### Install Dependencies\n\nFrom the repository root, install dependencies with pnpm:\n\n```bash\npnpm install\n```\n\n### Set up Environment Variables\n\nCopy the `.env.example` file to `.env` for each package or application that requires configuration:\n\n```bash\ncp .env.example .env\n```\n\nRepeat this process for all relevant packages and applications in the monorepo.\n\n### Environment Variables\n\nThe example environment files define the following variables:\n\n#### API (`apps/api/.env.example`)\n\n- `PRIVATE_KEY` - Private key used to sign Lens requests.\n- `SHARED_SECRET` - Token for internal API authorization.\n\n### Start the Development Server\n\nTo run the application in development mode:\n\n```bash\npnpm dev\n```\n\n## Build\n\n### Build the application\n\nCompile the application:\n\n```bash\npnpm build\n```\n\n### Type-check the project\n\nValidate the codebase with the TypeScript type checker:\n\n```bash\npnpm typecheck\n```\n\n### Lint and Format Code\n\nCheck code quality and formatting with Biome:\n\n```bash\npnpm biome:check\n```\n\nAutomatically fix linting and formatting issues:\n\n```bash\npnpm biome:fix\n```\n\n### Maintenance Scripts\n\nConvenient Node.js helpers are in the `script` directory:\n\n- `node script/clean.mjs` removes all `node_modules`, `.next` directories,\n  `pnpm-lock.yaml`, and `tsconfig.tsbuildinfo` files.\n- `node script/update-dependencies.mjs` updates packages across the monorepo,\n  removes old installs and commits the changes in a new branch.\n- `node script/sort-package-json.mjs` sorts all `package.json` files in the\n  repository.\n\n## License\n\nThis project is released under the **GNU AGPL-3.0** license. See the [LICENSE](./LICENSE) file for details\n\n🌸\n","default_branch":"main","files":684,"tree":[".cursorrules",".github/dependabot.yml",".gitignore",".husky/pre-commit",".nvmrc",".prettierignore",".vscode/extensions.json",".vscode/settings.json","AGENTS.md","LICENSE","README.md","biome.json","ecosystem.config.cjs","funding.json","generated.ts","index.html","package.json","pnpm-lock.yaml","possible-types.ts","public/favicon.ico","public/robots.txt","public/sw.js","script/clean-branches.mjs","script/clean.mjs","script/sort-package-json.mjs","script/update-dependencies.mjs","src/assets/fonts/SofiaProSoftBold.woff2","src/assets/fonts/SofiaProSoftMed.woff2","src/assets/fonts/SofiaProSoftReg.woff2","src/components/Account/AccountFeed.tsx","src/components/Account/DeletedDetails.tsx","src/components/Account/Details.tsx","src/components/Account/FeedType.tsx","src/components/Account/Followerings.tsx","src/components/Account/FollowersYouKnowOverview.tsx","src/components/Account/Menu/Block.tsx","src/components/Account/Menu/CopyLink.tsx","src/components/Account/Menu/Mute.tsx","src/components/Account/Menu/Report.tsx","src/components/Account/Menu/index.tsx","src/components/Account/MetaDetails.tsx","src/components/Account/Shimmer.tsx","src/components/Account/index.tsx","src/components/Bookmarks/BookmarksFeed.tsx","src/components/Bookmarks/index.tsx","src/components/Comment/CommentFeed.tsx","src/components/Comment/NoneRelevantFeed.tsx","src/components/Common/ErrorBoundary.tsx","src/components/Common/Layout.tsx","src/components/Common/MetaTags.tsx","src/components/Common/Providers/Web3Provider.tsx","src/components/Common/Providers/index.tsx","src/components/Common/ReloadTabsWatcher.tsx","src/components/Composer/Actions/Attachment.tsx","src/components/Composer/Actions/CollectSettings/AmountConfig.tsx","src/components/Composer/Actions/CollectSettings/CollectForm.tsx","src/components/Composer/Actions/CollectSettings/CollectLimitConfig.tsx","src/components/Composer/Actions/CollectSettings/FollowersConfig.tsx","src/components/Composer/Actions/CollectSettings/SplitConfig.tsx","src/components/Composer/Actions/CollectSettings/TimeLimitConfig.tsx","src/components/Composer/Actions/CollectSettings/index.tsx","src/components/Composer/Actions/Gif/Categories.tsx","src/components/Composer/Actions/Gif/GifSelector.tsx","src/components/Composer/Actions/Gif/Gifs.tsx","src/components/Composer/Actions/Gif/index.tsx","src/components/Composer/Actions/GroupFeedSelector.tsx","src/components/Composer/Actions/RulesSettings/Rules.tsx","src/components/Composer/Actions/RulesSettings/index.tsx","src/components/Composer/ChooseThumbnail.tsx","src/components/Composer/Editor/AccountMentionPicker.tsx","src/components/Composer/Editor/Editor.tsx","src/components/Composer/Editor/EditorHandle.tsx","src/components/Composer/Editor/EditorMenus.tsx","src/components/Composer/Editor/EmojiPicker.tsx","src/components/Composer/Editor/GroupMentionPicker.tsx","src/components/Composer/Editor/InlineMenu.tsx","src/components/Composer/Editor/Toggle.tsx","src/components/Composer/Editor/index.tsx","src/components/Composer/GroupSelector.tsx","src/components/Composer/LicensePicker.tsx","src/components/Composer/LinkPreviews.tsx","src/components/Composer/NewAttachments.tsx","src/components/Composer/NewPost.tsx","src/components/Composer/NewPublication.tsx","src/components/Explore/ExploreFeed.tsx","src/components/Explore/index.tsx","src/components/Group/Admins/Admins.tsx","src/components/Group/Admins/index.tsx","src/components/Group/Details.tsx","src/components/Group/GroupFeed.tsx","src/components/Group/Members/Actions/AddRemoveAdmin.tsx","src/components/Group/Members/Actions/Ban.tsx","src/components/Group/Members/Actions/index.tsx","src/components/Group/Members/Members.tsx","src/components/Group/Members/index.tsx","src/components/Group/MembersCount.tsx","src/components/Group/Menu/Banned/Actions/Unban.tsx","src/components/Group/Menu/Banned/Actions/index.tsx","src/components/Group/Menu/Banned/List.tsx","src/components/Group/Menu/Banned/index.tsx","src/components/Group/Menu/index.tsx","src/components/Group/Requests/Requests.tsx","src/components/Group/Requests/index.tsx","src/components/Group/Settings/Monetize/SuperJoin.tsx","src/components/Group/Settings/Monetize/index.tsx","src/components/Group/Settings/Personalize/Form.tsx","src/components/Group/Settings/Personalize/index.tsx","src/components/Group/Settings/Rules/ApprovalRule.tsx","src/components/Group/Settings/Rules/index.tsx","src/components/Group/Settings/index.tsx","src/components/Group/Shimmer.tsx","src/components/Group/index.tsx","src/components/Groups/FeedType.tsx","src/components/Groups/List.tsx","src/components/Groups/Sidebar/Create/CreateGroup.tsx","src/components/Groups/Sidebar/Create/CreateGroupModal.tsx","src/components/Groups/Sidebar/Create/Minting.tsx","src/components/Groups/Sidebar/Create/Success.tsx","src/components/Groups/index.tsx","src/components/Home/FeedType.tsx","src/components/Home/ForYou.tsx","src/components/Home/Hero.tsx","src/components/Home/Highlights.tsx","src/components/Home/Suggested.tsx","src/components/Home/Timeline/EventType/Combined.tsx","src/components/Home/Timeline/EventType/Reposted.tsx","src/components/Home/Timeline/EventType/index.tsx","src/components/Home/Timeline/index.tsx","src/components/Home/TopAccounts.tsx","src/components/Home/index.tsx","src/components/Notification/Account.tsx","src/components/Notification/AggregatedNotificationTitle.tsx","src/components/Notification/FeedType.tsx","src/components/Notification/List.tsx","src/components/Notification/Settings.tsx","src/components/Notification/Shimmer.tsx","src/components/Notification/Type/AccountActionExecutedNotification.tsx","src/components/Notification/Type/CommentNotification.tsx","src/components/Notification/Type/FollowNotification.tsx","src/components/Notification/Type/GroupMembershipRequestApprovedNotification.tsx","src/components/Notification/Type/GroupMembershipRequestRejectedNotification.tsx","src/components/Notification/Type/MentionNotification.tsx","src/components/Notification/Type/PostActionExecutedNotification.tsx","src/components/Notification/Type/QuoteNotification.tsx","src/components/Notification/Type/ReactionNotification.tsx","src/components/Notification/Type/RepostNotification.tsx","src/components/Notification/Type/TokenDistributedNotification.tsx","src/components/Notification/index.tsx","src/components/Pages/Copyright.tsx","src/components/Pages/Guidelines.tsx","src/components/Pages/PageHeader.tsx","src/components/Pages/Privacy.tsx","src/components/Pages/Support.tsx","src/components/Pages/Terms.tsx","src/components/Post/Actions/Comment.tsx","src/components/Post/Actions/Like.tsx","src/components/Post/Actions/Menu/Bookmark.tsx","src/components/Post/Actions/Menu/CopyPostText.tsx","src/components/Post/Actions/Menu/Delete.tsx","src/components/Post/Actions/Menu/Edit.tsx","src/components/Post/Actions/Menu/HideComment.tsx","src/components/Post/Actions/Menu/NotInterested.tsx","src/components/Post/Actions/Menu/Report.tsx","src/components/Post/Actions/Menu/Share.tsx","src/components/Post/Actions/Menu/index.tsx","src/components/Post/Actions/Share/Quote.tsx","src/components/Post/Actions/Share/Repost.tsx","src/components/Post/Actions/Share/UndoRepost.tsx","src/components/Post/Actions/Share/index.tsx","src/components/Post/Actions/index.tsx","src/components/Post/FullPost.tsx","src/components/Post/HiddenPost.tsx","src/components/Post/MoreRelevantPeople.tsx","src/components/Post/OpenAction/CollectAction/CollectActionBody.tsx","src/components/Post/OpenAction/CollectAction/CollectActionButton.tsx","src/components/Post/OpenAction/CollectAction/SmallCollectButton.tsx","src/components/Post/OpenAction/CollectAction/Splits.tsx","src/components/Post/OpenAction/CollectAction/index.tsx","src/components/Post/OpenAction/TipAction/index.tsx","src/components/Post/PostAccount.tsx","src/components/Post/PostAvatar.tsx","src/components/Post/PostBody.tsx","src/components/Post/PostHeader.tsx","src/components/Post/PostStats.tsx","src/components/Post/QuotedPost.tsx","src/components/Post/Quotes.tsx","src/components/Post/RelevantPeople.tsx","src/components/Post/Shimmer.tsx","src/components/Post/SinglePost.tsx","src/components/Post/ThreadBody.tsx","src/components/Post/Type/Commented.tsx","src/components/Post/Type/Reposted.tsx","src/components/Post/Type/index.tsx","src/components/Post/index.tsx","src/components/Search/Accounts.tsx","src/components/Search/FeedType.tsx","src/components/Search/Groups.tsx","src/components/Search/Posts.tsx","src/components/Search/index.tsx","src/components/Settings/Blocked/List.tsx","src/components/Settings/Blocked/index.tsx","src/components/Settings/Developer/Tokens.tsx","src/components/Settings/Developer/index.tsx","src/components/Settings/Manager/AccountManager/AddAccountManager.tsx","src/components/Settings/Manager/AccountManager/Management/List.tsx","src/components/Settings/Manager/AccountManager/Management/Managed.tsx","src/components/Settings/Manager/AccountManager/Management/Unmanaged.tsx","src/components/Settings/Manager/AccountManager/Managers/List.tsx","src/components/Settings/Manager/AccountManager/Managers/Permission.tsx","src/components/Settings/Manager/AccountManager/Managers/index.tsx","src/components/Settings/Manager/AccountManager/index.tsx","src/components/Settings/Manager/index.tsx","src/components/Settings/Monetize/SuperFollow.tsx","src/components/Settings/Monetize/index.tsx","src/components/Settings/Personalize/Form.tsx","src/components/Settings/Personalize/index.tsx","src/components/Settings/Rewards/List.tsx","src/components/Settings/Rewards/index.tsx","src/components/Settings/Sessions/List.tsx","src/components/Settings/Sessions/index.tsx","src/components/Settings/Username/LinkUsername.tsx","src/components/Settings/Username/UnlinkUsername.tsx","src/components/Settings/Username/index.tsx","src/components/Settings/index.tsx","src/components/Shared/404.tsx","src/components/Shared/500.tsx","src/components/Shared/Account/AccountLink.tsx","src/components/Shared/Account/AccountPreview.tsx","src/components/Shared/Account/Accounts.tsx","src/components/Shared/Account/DismissRecommendedAccount.tsx","src/components/Shared/Account/Follow.tsx","src/components/Shared/Account/FollowUnfollowButton.tsx","src/components/Shared/Account/FollowWithRulesCheck.tsx","src/components/Shared/Account/LazySmallSingleAccount.tsx","src/components/Shared/Account/SearchAccounts.tsx","src/components/Shared/Account/SingleAccount.tsx","src/components/Shared/Account/SmallSingleAccount.tsx","src/components/Shared/Account/SuperFollow.tsx","src/components/Shared/Account/SwitchAccounts.tsx","src/components/Shared/Account/TipButton.tsx","src/components/Shared/Account/TopUp/Button.tsx","src/components/Shared/Account/TopUp/Transfer.tsx","src/components/Shared/Account/TopUp/index.tsx","src/components/Shared/Account/Unfollow.tsx","src/components/Shared/Account/WalletAccount.tsx","src/components/Shared/Alert/BlockOrUnblockAccount.tsx","src/components/Shared/Alert/DeletePost.tsx","src/components/Shared/Alert/MuteOrUnmuteAccount.tsx","src/components/Shared/Audio/CoverImage.tsx","src/components/Shared/Audio/Player.tsx","src/components/Shared/Audio/index.tsx","src/components/Shared/Auth/AuthMessage.tsx","src/components/Shared/Auth/Login.tsx","src/components/Shared/Auth/Signup/ChooseUsername.tsx","src/components/Shared/Auth/Signup/Minting.tsx","src/components/Shared/Auth/Signup/Success.tsx","src/components/Shared/Auth/Signup/index.tsx","src/components/Shared/Auth/SignupCard.tsx","src/components/Shared/Auth/WalletSelector.tsx","src/components/Shared/Auth/index.tsx","src/components/Shared/AvatarUpload.tsx","src/components/Shared/BackButton.tsx","src/components/Shared/Badges/New.tsx","src/components/Shared/ChooseFile.tsx","src/components/Shared/CountdownTimer.tsx","src/components/Shared/Cover.tsx","src/components/Shared/CoverUpload.tsx","src/components/Shared/Embed/Quote.tsx","src/components/Shared/Embed/Wrapper.tsx","src/components/Shared/EmojiPicker/List.tsx","src/components/Shared/EmojiPicker/index.tsx","src/components/Shared/FallbackAccountName.tsx","src/components/Shared/Footer.tsx","src/components/Shared/FullPageLoader.tsx","src/components/Shared/GlobalAlerts.tsx","src/components/Shared/GlobalModals.tsx","src/components/Shared/Group/CancelGroupMembershipRequest.tsx","src/components/Shared/Group/Join.tsx","src/components/Shared/Group/JoinLeaveButton.tsx","src/components/Shared/Group/JoinWithRulesCheck.tsx","src/components/Shared/Group/Leave.tsx","src/components/Shared/Group/SingleGroup.tsx","src/components/Shared/Group/SuperJoin.tsx","src/components/Shared/Icons/TipIcon.tsx","src/components/Shared/Loader.tsx","src/components/Shared/LoginButton.tsx","src/components/Shared/Markup/MarkupLink/ExternalLink.tsx","src/components/Shared/Markup/MarkupLink/Mention.tsx","src/components/Shared/Markup/MarkupLink/index.tsx","src/components/Shared/Markup/index.tsx","src/components/Shared/MenuTransition.tsx","src/components/Shared/Modal/Followers.tsx","src/components/Shared/Modal/FollowersYouKnow.tsx","src/components/Shared/Modal/Following.tsx","src/components/Shared/Modal/Likes.tsx","src/components/Shared/Modal/Members/index.tsx","src/components/Shared/Modal/PostExecutors.tsx","src/components/Shared/Modal/ReportAccount/index.tsx","src/components/Shared/Modal/ReportPost/index.tsx","src/components/Shared/Modal/Reposts.tsx","src/components/Shared/Navbar/BottomNavigation.tsx","src/components/Shared/Navbar/MobileDrawerMenu.tsx","src/components/Shared/Navbar/NavItems/Bookmarks.tsx","src/components/Shared/Navbar/NavItems/Groups.tsx","src/components/Shared/Navbar/NavItems/Logout.tsx","src/components/Shared/Navbar/NavItems/Rewards.tsx","src/components/Shared/Navbar/NavItems/Settings.tsx","src/components/Shared/Navbar/NavItems/Support.tsx","src/components/Shared/Navbar/NavItems/SwitchAccount.tsx","src/components/Shared/Navbar/NavItems/ThemeSwitch.tsx","src/components/Shared/Navbar/NavItems/YourAccount.tsx","src/components/Shared/Navbar/SignedAccount.tsx","src/components/Shared/Navbar/SignupButton.tsx","src/components/Shared/Navbar/index.tsx","src/components/Shared/NotLoggedIn.tsx","src/components/Shared/NumberedStat.tsx","src/components/Shared/PageLayout.tsx","src/components/Shared/Post/Attachments.tsx","src/components/Shared/Post/ContentFeedType.tsx","src/components/Shared/Post/PostFeed.tsx","src/components/Shared/Post/PostLink.tsx","src/components/Shared/Post/PostWarning.tsx","src/components/Shared/Post/PostWrapper.tsx","src/components/Shared/Post/Video.tsx","src/components/Shared/Search/RecentAccounts.tsx","src/components/Shared/Search/index.tsx","src/components/Shared/Settings/LowSignalNotificationToggle.tsx","src/components/Shared/Settings/WrongWallet.tsx","src/components/Shared/Shimmer/AccountListShimmer.tsx","src/components/Shared/Shimmer/FollowersYouKnowShimmer.tsx","src/components/Shared/Shimmer/GraphStatsShimmer.tsx","src/components/Shared/Shimmer/GroupListShimmer.tsx","src/components/Shared/Shimmer/PostShimmer.tsx","src/components/Shared/Shimmer/PostsShimmer.tsx","src/components/Shared/Shimmer/SingleAccountShimmer.tsx","src/components/Shared/Shimmer/SingleAccountsShimmer.tsx","src/components/Shared/Shimmer/SingleGroupShimmer.tsx","src/components/Shared/Shimmer/SmallSingleAccountShimmer.tsx","src/components/Shared/Shimmer/ThumbnailsShimmer.tsx","src/components/Shared/Sidebar/WhoToFollow.tsx","src/components/Shared/Sidebar/index.tsx","src/components/Shared/SiteError.tsx","src/components/Shared/Skeleton.tsx","src/components/Shared/Slug.tsx","src/components/Shared/TipMenu.tsx","src/components/Shared/ToggleWithHelper.tsx","src/components/Shared/UI/Alert.tsx","src/components/Shared/UI/Badge.tsx","src/components/Shared/UI/Button.tsx","src/components/Shared/UI/Card.tsx","src/components/Shared/UI/CardHeader.tsx","src/components/Shared/UI/Checkbox.tsx","src/components/Shared/UI/EmptyState.tsx","src/components/Shared/UI/ErrorMessage.tsx","src/components/Shared/UI/Form.tsx","src/components/Shared/UI/HelpTooltip.tsx","src/components/Shared/UI/Image.tsx","src/components/Shared/UI/Input.tsx","src/components/Shared/UI/LightBox.tsx","src/components/Shared/UI/Modal.tsx","src/components/Shared/UI/RangeSlider.tsx","src/components/Shared/UI/Select.tsx","src/components/Shared/UI/Spinner.tsx","src/components/Shared/UI/StackedAvatars.tsx","src/components/Shared/UI/Tabs.tsx","src/components/Shared/UI/TextArea.tsx","src/components/Shared/UI/Toggle.tsx","src/components/Shared/UI/Tooltip.tsx","src/components/Shared/UI/Typography.tsx","src/components/Shared/UI/WarningMessage.tsx","src/components/Shared/UI/index.ts","src/data/constants.ts","src/data/contracts.ts","src/data/enums.ts","src/data/errors.ts","src/data/regex.ts","src/data/rpcs.ts","src/data/storage.ts","src/data/tokens.ts","src/data/utils/regexLookbehindAvailable.ts","src/font.css","src/helpers/accountPictureUtils.ts","src/helpers/attachmentUtils.ts","src/helpers/authLink.ts","src/helpers/clearLocalStorage.ts","src/helpers/cn.ts","src/helpers/collectActionParams.ts","src/helpers/compressImage.ts","src/helpers/convertToTitleCase.ts","src/helpers/cropUtils.ts","src/helpers/datetime/formatRelativeOrAbsolute.ts","src/helpers/errorToast.ts","src/helpers/escapeHtml.ts","src/helpers/formatAddress.ts","src/helpers/generateUUID.ts","src/helpers/generateVideoThumbnails.ts","src/helpers/getAccount.ts","src/helpers/getAccountAttribute.ts","src/helpers/getAnyKeyValue.ts","src/helpers/getAssetLicense.ts"],"storefront":"/r/slymnoyann","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/slymnoyann/hey-1/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}