An open API service indexing awesome lists of open source software.

https://github.com/alan345/fullstack-saas-boilerplate

Fullstack SaaS Boilerplate built with tRPC, Fastify and React
https://github.com/alan345/fullstack-saas-boilerplate

better-auth drizzle-orm fastify postgres react tailwind trpc typescipt

Last synced: 14 days ago
JSON representation

Fullstack SaaS Boilerplate built with tRPC, Fastify and React

Awesome Lists containing this project

README

        


image

Fullstack SaaS Boilerplate


Built with Fastify, tRPC, and React.

## Project

[![GitHub stars](https://img.shields.io/github/stars/alan345/Fullstack-SaaS-Boilerplate?style=for-the-badge)](https://github.com/alan345/Fullstack-SaaS-Boilerplate/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/alan345/Fullstack-SaaS-Boilerplate?style=for-the-badge)](https://github.com/alan345/Fullstack-SaaS-Boilerplate/network)
[![GitHub license](https://img.shields.io/github/license/alan345/Fullstack-SaaS-Boilerplate?style=for-the-badge)](https://github.com/alan345/Fullstack-SaaS-Boilerplate/blob/master/LICENSE)
[![GitHub issues](https://img.shields.io/github/issues/alan345/Fullstack-SaaS-Boilerplate?style=for-the-badge)](https://github.com/alan345/Fullstack-SaaS-Boilerplate/issues)
[![GitHub issues](https://img.shields.io/badge/Sponsor-me!-blue?style=for-the-badge)](https://github.com/sponsors/alan345)

## Demo


Demo Fullstack-SaaS-Boilerplate

###### Hosted by [render.com](http://render.com/) for free

## Preview

![demo](https://github.com/user-attachments/assets/4e98f29e-add9-40b2-9df5-98a04995a3e9)

## Main Stack

| Technology | Description | Stars |
| ------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Drizzle | A TypeScript-first ORM for Node.js | GitHub Repo stars |
| Fastify | Fast, unopinionated, minimalist web framework for Node.js | GitHub Repo stars |
| Postgres | The world's most advanced open source database | GitHub Repo stars |
| React 19 | A JavaScript library for building user interfaces | GitHub Repo stars |
| Tailwind v4 | A utility-first CSS framework for rapid UI development | GitHub Repo stars |
| tRPC | End-to-end typesafe APIs made easy | GitHub Repo stars |

## Other dependencies

| Technology | Description | Stars |
| ------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Better Auth | Authentication library for Node.js | GitHub Repo stars |
| Lucide Icons | Beautifully simple & consistent icons | GitHub Repo stars |
| npm Workspace | Workspaces for managing multiple packages in a single repository | GitHub Repo stars |
| Playwright | Test your web apps headlessly with a single API | GitHub Repo stars |
| React Router v7 | Declarative routing for React | GitHub Repo stars |
| TypeScript | TypeScript is a typed superset of JavaScript | GitHub Repo stars |
| Vite | Next generation frontend tooling. It's fast! | GitHub Repo stars |
| Zod | TypeScript-first schema validation with static type inference | GitHub Repo stars |
| Zustand | Bear necessities for state management in React | GitHub Repo stars |

## Features

- [Beers from random-data-api.com](https://random-data-api.com) Example of pulling data from externals REST API
- Health Check for the server (http://localhost:2022/health)
- Search with Debounce Using a Custom Hook

## Installation

- Update the server `server.env` [file](https://github.com/alan345/Fullstack-SaaS-Boilerplate/blob/main/server.env) and the client `client.env` [file](https://github.com/alan345/Fullstack-SaaS-Boilerplate/blob/main/client/client.env) with your credentials
- Make sure Postgres is running and create a new database called `fsb`

```bash
psql -U user // replace user by your postgres user
CREATE DATABASE fsb;
```

- Run in the terminal In the root directory:

```bash
// Install the dependencies
npm i

// Setup the database
npm run push

// Seed the database
npm run seed

// Run the app (it will run the client and the server automatically)
npm run dev
```

## Building for production

- Update the `.gitignore` [file](https://github.com/alan345/Fullstack-SaaS-Boilerplate/blob/main/.gitignore) by uncommenting `# .env` to ensure your credentials remain private and are not exposed.

```bash
npm run build
npm run start
```

## Printscreens

Screenshot 2025-01-29 at 9 23 13 AM
Screenshot 2025-01-29 at 9 23 22 AM
Screenshot 2025-01-29 at 9 23 27 AM
Screenshot 2025-01-29 at 9 23 32 AM
Screenshot 2025-01-29 at 9 23 37 AM
Screenshot 2025-01-29 at 9 23 40 AM
Screenshot 2025-01-29 at 9 23 46 AM

#### Health Check for the server (http://localhost:2022/health)

Health Check

## Motivation

Focusing on developer experience: simple, efficient, and fast. This modern stack uses top-tier libraries to build a full-stack web application. Unlike the T3 app (https://create.t3.gg), we opted not to use Next.js, allowing the frontend to remain as static files, easily stored in cloud object storage like AWS S3. Consequently, this stack is designed for building web apps rather than traditional websites, as it is not SEO-friendly.

## End-to-end typesafe with Trpc

![trpc-video-ter](https://github.com/user-attachments/assets/7ee27bbb-5e56-484c-b046-fe0186b4321d)
Video from https://trpc.io

## E2E Testing

The tests should be executed while the application is running.

#### Running the tests in the Terminal

```
npm run test
```

## Other recommendations

- Need a component library? Check out [Chakra UI](https://v2.chakra-ui.com/)
- If your stack is getting more and more shared workspaces, consider using [pnpm](https://pnpm.io/workspaces) instead of npm

## Who is using TER?

- [Nachonacho.com](https://Nachonacho.com) - The world's largest marketplace for Software & Services

Create a PR if you want to add your project here.

## How you can help?

This project is free and open source. If you found it useful, consider giving it a star ⭐ or sponsoring me 💖 — it really helps!
I'm always open to feedback, so feel free to share suggestions to improve the stack.
You’re also welcome to contribute by opening a pull request 🚀.

[![GitHub issues](https://img.shields.io/badge/Sponsor-me!-blue?style=for-the-badge)](https://github.com/sponsors/alan345)


image