{"id":15647846,"url":"https://github.com/sashenjayathilaka/twitter-2-0-clone","last_synced_at":"2025-04-28T16:24:07.375Z","repository":{"id":63115867,"uuid":"534132417","full_name":"SashenJayathilaka/Twitter-2-0-Clone","owner":"SashenJayathilaka","description":"Twitter 2.0 with REACT.JS! (Next.js, Sanity CMS, Typescript, SSR, Tailwind, GoogleAuth, Dark Mode \u0026 Light Mode \u0026 Twitter Profile)","archived":false,"fork":false,"pushed_at":"2023-06-26T05:05:17.000Z","size":2072,"stargazers_count":65,"open_issues_count":16,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T11:11:58.996Z","etag":null,"topics":["firebase-auth","framer-motion","google-authentication","heroicons-react","learn","lodash","next-sanity","next-themes","nextjs","react","react-dom","react-firebase-hooks","react-time-ago","sanity-cms","ssr","student-vscode","tailwind-css","tailwind-scrollbar-hide","typescript","vercel-deployment"],"latest_commit_sha":null,"homepage":"https://twitterclone-gamma.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SashenJayathilaka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-09-08T09:04:36.000Z","updated_at":"2025-02-17T02:56:00.000Z","dependencies_parsed_at":"2024-10-03T12:21:52.605Z","dependency_job_id":"864d87ed-94f2-4243-aab2-b15d28dfffb4","html_url":"https://github.com/SashenJayathilaka/Twitter-2-0-Clone","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SashenJayathilaka%2FTwitter-2-0-Clone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SashenJayathilaka%2FTwitter-2-0-Clone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SashenJayathilaka%2FTwitter-2-0-Clone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SashenJayathilaka%2FTwitter-2-0-Clone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SashenJayathilaka","download_url":"https://codeload.github.com/SashenJayathilaka/Twitter-2-0-Clone/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251343559,"owners_count":21574387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["firebase-auth","framer-motion","google-authentication","heroicons-react","learn","lodash","next-sanity","next-themes","nextjs","react","react-dom","react-firebase-hooks","react-time-ago","sanity-cms","ssr","student-vscode","tailwind-css","tailwind-scrollbar-hide","typescript","vercel-deployment"],"created_at":"2024-10-03T12:21:33.514Z","updated_at":"2025-04-28T16:24:07.357Z","avatar_url":"https://github.com/SashenJayathilaka.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n  \u003cimg src=\"https://user-images.githubusercontent.com/99184393/217984715-374189af-0e66-41cd-bca4-445b6045797e.png\" alt=\"logo\" width=\"200\" height=\"auto\" /\u003e\n  \n# Twitter 2.0 with REACT.JS!\n  \n  \u003cp\u003e\n   Twitter 2.0 with REACT.JS! (Next.js, Sanity CMS, Typescript, SSR, Tailwind, GoogleAuth, Dark Mode \u0026 Light Mode \u0026 Twitter Profile)\n  \u003c/p\u003e\n  \n  \n\u003c!-- Badges --\u003e\n\n\u003ca href=\"https://twitterclone-gamma.vercel.app\" target=\"_blank\"\u003e![](https://img.shields.io/website-up-down-green-red/http/monip.org.svg)\u003c/a\u003e\n![](https://img.shields.io/badge/Maintained-Yes-indigo)\n![](https://img.shields.io/github/forks/SashenJayathilaka/Twitter-2-0-Clone.svg)\n![](https://img.shields.io/github/stars/SashenJayathilaka/Twitter-2-0-Clone.svg)\n![](https://img.shields.io/github/issues/SashenJayathilaka/Twitter-2-0-Clone)\n![](https://img.shields.io/github/last-commit/SashenJayathilaka/Twitter-2-0-Clone)\n\n   \n\u003ch4\u003e\n    \u003ca href=\"https://twitterclone-gamma.vercel.app\"\u003eView Demo\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/SashenJayathilaka/Twitter-2-0-Clone/blob/master/README.md\"\u003eDocumentation\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/SashenJayathilaka/Twitter-2-0-Clone/issues\"\u003eReport Bug\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/SashenJayathilaka/Twitter-2-0-Clone/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/h4\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003c!-- Table of Contents --\u003e\n## :notebook_with_decorative_cover: Table of Contents\n\n- [About the Project](#star2-about-the-project)\n  * [Screenshots](#camera-screenshots)\n  * [Tech Stack](#space_invader-tech-stack)\n  * [Environment Variables](#key-environment-variables)\n- [Getting Started](#toolbox-getting-started)\n  * [Prerequisites](#bangbang-prerequisites)\n  * [Installation](#gear-installation)\n  * [Run Locally](#running-run-locally)\n  * [Deployment](#triangular_flag_on_post-deployment)\n- [Contact](#handshake-contact)\n\n\u003c!-- About the Project --\u003e\n## :star2: About the Project\n\n\u003c!-- Screenshots --\u003e\n### :camera: Screenshots\n\n\u003cdiv align=\"center\" display='flex'\u003e\n\u003ca href=\"https://twitterclone-gamma.vercel.app\"\u003e\u003cimg width='800rem'  src='https://user-images.githubusercontent.com/99184393/201503394-7ca854a6-1bff-499c-86be-294d87d7110a.png' alt='image'/\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\" display='flex'\u003e\n\u003ca href=\"https://twitterclone-gamma.vercel.app\"\u003e\u003cimg width='800rem'  src='https://user-images.githubusercontent.com/99184393/201503349-9fe8f219-7670-4b1c-b977-e8216060e9ec.png' alt='image'/\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n## \u003ca href=\"https://twitterclone-gamma.vercel.app\" target=\"_blank\"\u003eLIVE DEMO 💥\u003c/a\u003e\n\n![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)\n![forthebadge](https://forthebadge.com/images/badges/for-you.svg)\n![forthebadge](https://forthebadge.com/images/badges/powered-by-coffee.svg)\n\n### :space_invader: Tech Stack\n\n\u003cdetails\u003e\n  \u003csummary\u003eClient\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://#/\"\u003eTypescript\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://nextjs.org/\"\u003eNext.js\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://reactjs.org/\"\u003eReact.js\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://tailwindcss.com/\"\u003eTailwindCSS\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eDatabase\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://www.sanity.io\"\u003eSanity\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cbr /\u003e\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/react/react-original.svg\" alt=\"\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n        \u003c/td\u003e\n                \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/99184393/183096870-fdf58e59-d78c-44f4-bd1c-f9033c16d907.png\" alt=\"Google\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n        \u003c/td\u003e\n                        \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/javascript/javascript-plain.svg\" alt=\"Google\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n        \u003c/td\u003e\n                        \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/99184393/179383376-874f547c-4e6f-4826-850e-706b009e7e2b.png\" alt=\"\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n        \u003c/td\u003e\n                        \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/99184393/180462270-ea4a249c-627c-4479-9431-5c3fd25454c4.png\" alt=\"\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n        \u003c/td\u003e\n                                \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/99184393/183095729-0ae04014-a62c-4013-93ff-6861fbff308e.png\" alt=\"\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n        \u003c/td\u003e\n                                \u003ctd\u003e\n\u003ca href=\"#\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Twitter-logo.svg/1200px-Twitter-logo.svg.png\" alt=\"\" width=\"30\" height=\"30\" /\u003e\u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n## \t:toolbox: Getting Started\n### :bangbang: Prerequisites\n- Sign up for a Firebase account \u003ca href='https://firebase.google.com'\u003eHERE\u003c/a\u003e\n- Sign up for a Sanity account \u003ca href='https://www.sanity.io'\u003eHERE\u003c/a\u003e\n- Install Node JS in your computer \u003ca href='https://nodejs.org/en/'\u003eHERE\u003c/a\u003e\n\n\u003c!-- Env Variables --\u003e\n### :key: Environment Variables\n\nTo run this project, you will need to add the following environment variables to your .env file\n\n`SANITY_API_TOKEN`\n\n`NEXT_PUBLIC_SANITY_PROJECT_ID`\n\n`NEXT_PUBLIC_SANITY_DATASET`\n\n`NEXT_PUBLIC_FIREBASE_API_KEY`\n\n`NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN`\n\n`NEXT_PUBLIC_FIREBASE_PROJECT_ID`\n\n`NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET`\n\n`NEXT_PUBLIC_FIREBASE_MESSAGING_SET`\n\n`NEXT_PUBLIC_FIREBASE_APP_ID`\n\n`NEXT_PUBLIC_BASE_URL`\n\nThis project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).\n\n### :gear: Installation\n\n![](https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB)\n![](https://img.shields.io/badge/next.js-20232A?style=for-the-badge\u0026logo=next.js\u0026logoColor=61DAFB)\n\nInstall my-project with npm\n```\nnpx create-next-app@latest --ts my-project\n```\n```\ncd my-project\n```\n\nInstall dependencies\n\n### :test_tube: Install Tailwind CSS with Next.js\n#### Install Tailwind CSS\n![](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white)\n\nInstall tailwindcss and its peer dependencies via npm, and then run the init command to generate both ``tailwind.config.js`` and ``postcss.config.js``.\n\n```\nnpm install -D tailwindcss postcss autoprefixer\n```\n```\nnpx tailwindcss init -p\n```\n#### Configure your template paths\nAdd the paths to all of your template files in your ``tailwind.config.js`` file.\n\u003cbr\u003e\n```\nmodule.exports = {\n  content: [\n    \"./pages/**/*.{js,ts,jsx,tsx}\",\n    \"./components/**/*.{js,ts,jsx,tsx}\",\n  ],\n  theme: {\n    extend: {},\n  },\n  plugins: [],\n}\n```\n#### Add the Tailwind directives to your CSS\nAdd the ``@tailwind`` directives for each of Tailwind’s layers to your ``./styles/globals.css`` file.\n```\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n```\nInstall dependencies\n\n\u003ca href=\"https://github.com/SashenJayathilaka/Twitter-2-0-Clone/blob/master/package.json\" target=\"_blank\"\u003e🔶 Dependency Info\u003c/a\u003e\n\n\u003c!-- Run Locally --\u003e\n### :running: Run Locally\n\n![](https://img.shields.io/badge/GIT-E44C30?style=for-the-badge\u0026logo=git\u0026logoColor=white)\n\nClone the project\n\n```bash\n  git clone https://github.com/SashenJayathilaka/Twitter-2-0-Clone.git\n```\n\nInstall dependencies\n\n```bash\n  npm install\n```\nStart the server\n\n```bash\n  npm run dev\n```\n\n\u003chr /\u003e\n\nThis is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).\n\n\u003chr /\u003e\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.\n\n[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.\n\nThe `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.\n\n### Learn More\n\nTo learn more about Next.js, take a look at the following resources:\n\n- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.\n- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.\n\nYou can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!\n\n\u003c!-- Deployment --\u003e\n### :triangular_flag_on_post: Deployment\n\nTo deploy this project run\n\n##### Deploy on Vercel\n\n![](https://img.shields.io/badge/Vercel-000000?style=for-the-badge\u0026logo=vercel\u0026logoColor=white)\n\nThe easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template\u0026filter=next.js\u0026utm_source=create-next-app\u0026utm_campaign=create-next-app-readme) from the creators of Next.js.\n\nCheck out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.\n\n## :handshake: Contact\n\nSashen - [@twitter_handle](https://twitter.com/SashenHasinduJ) - sashenjayathilaka95@gmail.com\n\nProject Link: [https://twitterclone-gamma.vercel.app](https://twitterclone-gamma.vercel.app)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsashenjayathilaka%2Ftwitter-2-0-clone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsashenjayathilaka%2Ftwitter-2-0-clone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsashenjayathilaka%2Ftwitter-2-0-clone/lists"}