Overview
The Full-stack TypeScript Monorepo Starter with Authentication is a project aimed at simplifying the process of setting up a new project. It provides a monorepo structure with a Node.js backend, GraphQL API, and React frontend, all written in TypeScript. The project includes various features, tooling, and infrastructure to streamline development and deployment.
Features
Backend
- Node.js with TypeScript
- GraphQL Yoga Server API
- Prisma ORM with PostgreSQL database
- Winston/Grafana Loki logging
- ESBuild bundling
Frontend
- React with TypeScript
- Apollo Client with cache
- Tailwind CSS
- Vite building
Tooling/Infrastructure
- GitHub Actions CI/CD
- Prometheus metrics
- Grafana monitoring
- Sentry error monitoring
- Railway hosting
- PNPM package manager
- Jest testing
- ESLint linting
- Turborepo caching
Installation
Server
- Install Docker Compose.
- Install dependencies in all projects:
pnpm install --recursive. - Build types from GraphQL schema:
pnpm run graphql-codegen. - Create the file
server/.env.developmentand add the fields fromserver/.env.example. - Run the database:
docker-compose up db. - Migrate the database schema:
npx prisma migrate devin theserverdirectory. - Generate types:
npx prisma generatein theserverdirectory. - Run the server:
pnpm run dev --prefix server.
App
- Create the file
app/.env.developmentand add the fields fromapp/.env.example. - Run the app:
pnpm run dev --prefix app.
Summary
The Full-stack TypeScript Monorepo Starter with Authentication is a project that aims to simplify the process of setting up a new project by providing a pre-configured monorepo structure with a Node.js backend, GraphQL API, and React frontend. It includes various features such as TypeScript support, Prism ORM, Apollo Client, and Tailwind CSS. The project also provides tooling and infrastructure such as GitHub Actions for CI/CD, Prometheus metrics, Grafana monitoring, and Sentry error monitoring. Installation instructions are provided to guide users in setting up the project. Overall, the Full-stack TypeScript Monorepo Starter with Authentication is a comprehensive solution for quickly getting started with a full-stack TypeScript project.