No Stakes Poker is a platform for playing Texas Hold'em no-limit poker with friends, entirely for fun and without having to wager any real money. It allows users to create private rooms, customize game settings like starting stacks and blinds, and enjoy the strategic elements of poker in a risk-free environment.
This project was created with Better-T-Stack, a modern TypeScript stack that combines React, TanStack Router, Hono, tRPC, and more.
- TypeScript - For type safety and improved developer experience
- TanStack Router - File-based routing with full type safety
- TailwindCSS - Utility-first CSS for rapid UI development
- shadcn/ui - Reusable UI components
- Hono - Lightweight, performant server framework
- tRPC - End-to-end type-safe APIs
- Bun - Runtime environment
- Drizzle - TypeScript-first ORM
- PostgreSQL - DB for auth and persistent data
- Redis - DB for non-persistent data
- Authentication - Email & password authentication with Better Auth
- Resend - Email delivery platform
- React Email - Components for building emails with React
- Biome - Linting and formatting
- Husky - Git hooks for code quality
First, install the dependencies:
bun installThis project uses PostgreSQL with Drizzle ORM.
-
Make sure you have a PostgreSQL database set up.
-
Update your
apps/server/.envfile with your PostgreSQL connection details. -
Apply the schema to your database:
bun db:pushThen, run the development server:
bun devOpen http://localhost:3001 in your browser to see the web application.
The API is running at http://localhost:3000.
nostakes/
├── apps/
│ ├── web/ # Frontend application (React, TanStack Router)
│ └── server/ # Backend API (Hono, tRPC)
├── packages/
│ └── transactional/ # Email templates
bun dev: Start both web and server in development modebun build: Build both web and serverbun dev:web: Start only the web applicationbun dev:server: Start only the serverbun check-types: Check TypeScript types across all appsbun db:push: Push schema changes to databasebun db:studio: Open database studio UI