๐๏ธ Project Structure
This document provides a comprehensive overview of the monorepo structure, explaining each directory and its purpose.
๐๏ธ Next.js
Next.js is a full-stack React framework that enables you to build fast, production-ready web applications with server-side rendering, static generation, and more.
๐๏ธ Prisma
Prisma is an ORM for TypeScript, that allows you to define your database schema and models in a schema.prisma file, and then generate a type-safe client that can be used to interact with your database from your backend.
๐๏ธ tRPC
tRPC allows us to write end-to-end typesafe APIs without any code generation or runtime bloat. It uses TypeScript's great inference to infer your API router's type definitions and lets you call your API procedures from your frontend with full typesafety and autocompletion. When using tRPC, your frontend and backend feel closer together than ever before, allowing for an outstanding developer experience.
๐๏ธ TypeScript
Whether you're a new or seasoned developer, we think that TypeScript is a must have. It can look intimidating at first, but much like a lot of tools, is something that many never look back from after starting to use it.
๐๏ธ TailwindCSS
What is Tailwind CSS?
๐๏ธ Environment variables
Starter Kit uses the @t3-oss/env-nextjs (and @t3-oss/env-core) packages along with zod under the hood for validating environment variables at runtime and buildtime by providing a simple logic in the various env.ts in the apps and packages directories.
๐๏ธ Logging and Monitoring
Vercel provides runtime logs, which include all logs generated by the Serverless (basically the pages/api directory) and Edge Function (currently not used by this starter kit) invocations of our application. However, Vercel's logging limitations may be insufficient for proper monitoring and alerts.
๐๏ธ Testing
This application has the following test types set up:
๐๏ธ Storybook
Storybook is a tool for for building UI components and pages in isolation. It streamlines UI development, testing, and documentation.
๐๏ธ CI/CD
The application uses GitHub Actions for CI/CD. The GitHub Actions workflows can be found in the .github/workflows/ directory.