{"id":18980338,"url":"https://github.com/t3dotgg/1app5stacks","last_synced_at":"2025-04-05T06:04:29.488Z","repository":{"id":261748168,"uuid":"879136581","full_name":"t3dotgg/1app5stacks","owner":"t3dotgg","description":"Theo built the same app 5 times because he's dumb","archived":false,"fork":false,"pushed_at":"2024-11-15T10:20:10.000Z","size":516,"stargazers_count":125,"open_issues_count":20,"forks_count":36,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T05:04:37.556Z","etag":null,"topics":["elixir","golang","graphql","nextjs","phoenix","react","ruby-on-rails","t3-stack"],"latest_commit_sha":null,"homepage":"","language":"Elixir","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/t3dotgg.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}},"created_at":"2024-10-27T04:46:48.000Z","updated_at":"2025-03-29T00:06:17.000Z","dependencies_parsed_at":"2025-01-16T13:34:08.488Z","dependency_job_id":"5fd81b4c-50ba-4cc3-b6dc-d1af8b620311","html_url":"https://github.com/t3dotgg/1app5stacks","commit_stats":{"total_commits":102,"total_committers":3,"mean_commits":34.0,"dds":0.02941176470588236,"last_synced_commit":"af53223b873fe590890e960a21eca8d35c58fcaf"},"previous_names":["t3dotgg/1app5stacks"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t3dotgg%2F1app5stacks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t3dotgg%2F1app5stacks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t3dotgg%2F1app5stacks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t3dotgg%2F1app5stacks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/t3dotgg","download_url":"https://codeload.github.com/t3dotgg/1app5stacks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294537,"owners_count":20915340,"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":["elixir","golang","graphql","nextjs","phoenix","react","ruby-on-rails","t3-stack"],"created_at":"2024-11-08T16:04:34.016Z","updated_at":"2025-04-05T06:04:29.468Z","avatar_url":"https://github.com/t3dotgg.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 1 App, 5 Stacks\n\nI built the same app in 5 stacks\\*. Those stacks are:\n\n- Ruby on Rails: https://roundest-rails.fly.dev/\n- Elixir + Phoenix: https://roundest-phoenix.fly.dev/\n- Go + GraphQL + React SPA: https://roundest-go.vercel.app/\n- OG T3 Stack (Next.js/Pages + Prisma): https://roundest-t3.vercel.app/\n- Next.js RSCs + App Router: https://roundest-rsc.vercel.app/\n\n\\* [Ben](https://www.youtube.com/@bmdavis419) wrote all of the Go code and most of the Elixir version\n\n## Line of Code comparison\n\nDon't read too much into this, I just found it interesting.\n\nNote: Both the Elixir and RSC versions have a \"turbo\" route with a lot of duplicated code, so I included a 2nd count for those with the turbo routes removed.\n\n| Stack                              | Primary Language LOC                    | Total LOC   |\n| ---------------------------------- | --------------------------------------- | ----------- |\n| Ruby on Rails                      | 509 lines (Ruby)                        | 1,014 lines |\n| Elixir + Phoenix\\*                 | 991 lines (Elixir)                      | 1,395 lines |\n| Elixir + Phoenix\\* (without turbo) | 832 lines (Elixir)                      | 1,236 lines |\n| Go + gql + React                   | 440 lines (TypeScript) + 423 lines (Go) | 940 lines   |\n| OG T3 Stack                        | 443 lines (TypeScript)                  | 585 lines   |\n| RSC version                        | 427 lines (TypeScript)                  | 453 lines   |\n| RSC version (without turbo)        | 334 lines (TypeScript)                  | 360 lines   |\n\n\\* I deleted ~1,000 lines from the Phoenix template (and still had this much code left)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft3dotgg%2F1app5stacks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft3dotgg%2F1app5stacks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft3dotgg%2F1app5stacks/lists"}