{"id":24918190,"url":"https://github.com/dev-siri/twitter-clone","last_synced_at":"2026-04-07T21:32:04.978Z","repository":{"id":202901803,"uuid":"708382471","full_name":"Dev-Siri/Twitter-Clone","owner":"Dev-Siri","description":"Fully functional (made with mental health in mind) Twitter Clone built with Next.js, React, Drizzle ORM, Neon \u0026 Firebase Storage","archived":false,"fork":false,"pushed_at":"2025-10-20T23:34:23.000Z","size":387951,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-21T01:24:03.384Z","etag":null,"topics":["bun","drizzle-kit","drizzle-orm","firebase-storage","neondb","nextjs","nextjs-app-router","react","tailwindcss","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Dev-Siri.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2023-10-22T12:02:10.000Z","updated_at":"2024-01-27T15:34:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"f44ee1f3-4393-41bc-9f9c-ac8d3b5319a5","html_url":"https://github.com/Dev-Siri/Twitter-Clone","commit_stats":null,"previous_names":["dev-siri/twitter-clone"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Dev-Siri/Twitter-Clone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dev-Siri%2FTwitter-Clone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dev-Siri%2FTwitter-Clone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dev-Siri%2FTwitter-Clone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dev-Siri%2FTwitter-Clone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dev-Siri","download_url":"https://codeload.github.com/Dev-Siri/Twitter-Clone/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dev-Siri%2FTwitter-Clone/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31530641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bun","drizzle-kit","drizzle-orm","firebase-storage","neondb","nextjs","nextjs-app-router","react","tailwindcss","typescript"],"created_at":"2025-02-02T09:19:00.666Z","updated_at":"2026-04-07T21:32:04.955Z","avatar_url":"https://github.com/Dev-Siri.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Twitter Clone\n\nYes. Yet another Twitter clone.\n\nI tried to implement as many features as possible while trying to retaining my sanity. This is by far the biggest App Router app I've ever written in Next.js\n\n## Getting Started\n\n- Clone the repo\n\n```sh\n$ git clone https://github.com/Dev-Siri/Twitter-Clone.git\n```\n\n- Install the dependencies\n\n```sh\n$ pnpm i\n\n# with buntime\n$ bun i\n```\n\n- Create a database on [Neon](https://neon.tech)\n- Create a [Firebase](https://firebase.google.com) Project with the \"Storage\" service enabled\n- Finally, the last secret you'll need is a `JWT_SECRET` key. To generate it, use `openssl`:\n\n```sh\n$ openssl rand -base64 32\n```\n\n- Then copy the all the creds into a `.env.local` file. Make sure you follow the format in the `.env.example` file\n\n```sh\nDATABASE_URL=\"\"\nJWT_SECRET=\"\"\nPGHOST=\"\"\nPGDATABASE=\"\"\nPGUSER=\"\"\nPGPASSWORD=\"\"\nENDPOINT_ID=\"\"\nFIREBASE_API_KEY=\"\"\nFIREBASE_AUTH_DOMAIN=\"\"\nFIREBASE_PROJECT_ID=\"\"\nFIREBASE_STORAGE_BUCKET=\"\"\nFIREBASE_MESSAGING_SENDER_ID=\"\"\nFIREBASE_APP_ID=\"\"\n```\n\n\u003e Note: you need to split your Database URL you get from Neon into individual parts so that drizzle can carry out migrations\n\u003e\n\u003e If the URL is `postgres://\u003cusername\u003e:\u003cpassword\u003e@\u003cendpoint-id-and-host\u003e/\u003cdb-name\u003e?sslmode=require`\n\u003e Then split it into the individual parts as:\n\u003e\n\u003e ```sh\n\u003e DATABASE_URL=\"postgres://\u003cusername\u003e:\u003cpassword\u003e@\u003cendpoint-id-and-host\u003e/\u003cdb-name\u003e?sslmode=require\"\n\u003e PGHOST=\"\u003cendpoint-id-and-host\u003e\"\n\u003e PGDATABASE=\"\u003cdb-name\u003e\"\n\u003e PGUSER=\"\u003cusername\u003e\"\n\u003e PGPASSWORD=\"\u003cpassword\u003e\"\n\u003e ENDPOINT_ID=\"\u003cendpoint-id\u003e\"\n\u003e ```\n\u003e\n\u003e Additional note: Make sure you have `?sslmode=require` at the end of the url, it is required by Drizzle.\n\n- Then run the drizzle commands to gen and push to the db.\n\n```sh\n$ pnpm drizzle:generate \u0026\u0026 pnpm drizzle:push\n\n# with buntime\n$ bun drizzle:generate \u0026\u0026 pnpm drizzle:push\n```\n\n- Finally start the development server\n\n```sh\n$ pnpm dev\n\n# with buntime\n$ bun dev\n```\n\nOnce again, you have achieved bird.\n\n## License\n\nThis project is MIT Licensed, see [LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev-siri%2Ftwitter-clone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdev-siri%2Ftwitter-clone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev-siri%2Ftwitter-clone/lists"}