{"id":21431613,"url":"https://github.com/tomdoestech/trpc-tutorial","last_synced_at":"2025-07-14T12:32:19.989Z","repository":{"id":41203070,"uuid":"508077591","full_name":"TomDoesTech/trpc-tutorial","owner":"TomDoesTech","description":null,"archived":false,"fork":false,"pushed_at":"2022-07-30T14:27:34.000Z","size":140,"stargazers_count":132,"open_issues_count":1,"forks_count":30,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-04-17T06:07:25.095Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/TomDoesTech.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}},"created_at":"2022-06-27T22:18:24.000Z","updated_at":"2024-04-10T13:17:09.000Z","dependencies_parsed_at":"2022-07-14T10:31:22.114Z","dependency_job_id":null,"html_url":"https://github.com/TomDoesTech/trpc-tutorial","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/TomDoesTech%2Ftrpc-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomDoesTech%2Ftrpc-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomDoesTech%2Ftrpc-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomDoesTech%2Ftrpc-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TomDoesTech","download_url":"https://codeload.github.com/TomDoesTech/trpc-tutorial/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225976215,"owners_count":17554197,"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":[],"created_at":"2024-11-22T23:10:41.695Z","updated_at":"2024-11-22T23:10:42.256Z","avatar_url":"https://github.com/TomDoesTech.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tRPC with Next.js, TypeScript \u0026 Prisma\n\n## Why you should be learning \u0026 using tRPC\n* Making E2E type-safe APIs is fun and easy\n* Gives you a deeper understanding of Next.js \n* Going to be very popular (prediction)\n\n\n\u003cimg src=\"./diagram.png\" width=\"500px\"/\u003e\n\n## Technologies used\n* tRPC\n* TypeScript\n* Prisma (Postgres)\n* Zod - Schema validation \u0026 type generation\n* nodemailer - Sending OTP emails\n\n## Features\n* Register user\n* Login with OTP\n* Create a post\n* View a post\n* List posts\n\n## What will you learn?\n* Enough tRPC to be productive\n* Using Next.js as a monorepo\n* Some TypeScript\n* OPT login flow\n\n## What you will need\n* A running instance of a DB (Postgres, Mongo, SQLlite, MYSQL) - Postgres\n\n## Video structure\n1. Demo\n2. Code walk-through\n\n3. Bootstrap application\n    - Create app router\n    - Create router base\n    - Configure _app.tsx\n    - Make a request\n    - Configure prisma\n4. Register user\n    - Create a user model\n    - Create register user schema\n    - Configure user router\n    - Register user resolver\n    - Register UI\n5. User login\n    - Add login token to prisma\n    - Login schema\n    - Configure mailer\n    - Verify login schema\n    - Login resolver\n    - Verify login resolver\n    - Login UI\n6. Create post\n    - Add post to prisma\n    - Create post router\n    - Create post resolver\n    - Create post UI\n7. List posts\n    - List posts resolver\n    - List posts UI\n8. View single post\n    - Query post schema\n    - Query post resolver\n    - Post UI\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomdoestech%2Ftrpc-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomdoestech%2Ftrpc-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomdoestech%2Ftrpc-tutorial/lists"}