Skip to content

ccatto/rleaguez

Repository files navigation

RLeaguez - Not your leaguez; not my leaguez; R Leaguez!

A sports leagues & scheduling app built with modern web technologies.

Build License Next.js Turbo



πŸš€ Table of Contents


πŸ›  Tech Stack

Technology Purpose
Frontend Next.js 16 (React 19) with Turbopack (stable)
Backend NestJS 10 (GraphQL API)
Database PostgreSQL + Prisma 6
Styling Tailwind CSS v4
State Mgmt Zustand
Auth NextAuth.js v5 + JWT
Rate Limiting @nestjs/throttler (100 req/min default, 8 req/min auth)
Forms React Hook Form + Zod
UI Library Radix UI
Payments Stripe
Logging Pino (structured JSON logging)
Hosting Fly.io (App) + Neon (DB)
Type Checking TypeScript (heavily utilized, defined all types and interfaces)
Linting ESLint (code analysis)
Formatting Prettier (opinionated code formatting)
Testing Jest
Date Handling Day.js (lightweight and open source)
Email Nodemailer
Icons lucide-react, react-icons
Table Component Tanstack Table

πŸ“‚ Monorepo Structure

apps/
  β”œβ”€β”€ backend/    # Nest.js API (GraphQL)
  β”œβ”€β”€ database/   # Prisma database setup
  β”œβ”€β”€ frontend/   # Next.js app (web + mobile UI)
  β”œβ”€β”€ mobile/     # Capacitor iOS/Android wrapper
packages/
  β”œβ”€β”€ eslint-config/  # Shared ESLint rules
  β”œβ”€β”€ shared/         # Shared types & utilities
  β”œβ”€β”€ utils/          # Common helper functions
docs/
  β”œβ”€β”€ LOGGING.md      # Logging documentation
  β”œβ”€β”€ MOBILE.md       # Mobile architecture and setup

We use TurboRepo for task management and caching in the monorepo.


πŸ›  Installation & Setup

1️⃣ Clone the Repo

git clone https://github.com/your-username/rleaguez.git
cd rleaguez

2️⃣ Install Dependencies

yarn install

3️⃣ Generate Prisma Client

yarn prisma:generate

4️⃣ Run the Development Server

yarn dev

⚑ Using TurboRepo

We leverage TurboRepo for efficient monorepo management. Some key commands:

  • Run everything in parallel:
    yarn turbo run dev
  • Build all apps:
    yarn turbo run build --filter=apps/*
  • Lint all packages:
    yarn turbo run lint

πŸš€ Deployment

Deploying the Backend to Fly.io

fly deploy --config apps/backend/fly.toml --dockerfile apps/backend/Dockerfile --build-secret DATABASE_URL=your-secret-url

Running Prisma Migrations

npx prisma migrate deploy

Running Prisma Seed

npx prisma db seed

πŸ“Œ Version History

Date Version Changes
03-04-2025 v1.3.30 resolved social images
03-02-2025 v1.3.30 Migrated to monorepo, upgraded Tailwind v4
02-20-2025 v1.3.29 Improved mobile UI, updated role management
02-09-2025 v1.3.28 Authentication fixes, Facebook login updates
02-04-2025 v1.3.27 UI/UX improvements, consistent components

Full changelog available in CHANGELOG.md


πŸ–Ό Screenshots & Demo

App Screenshot

Check out a live demo: rleaguez.com


πŸ“š Documentation

For detailed technical documentation, see the docs/ directory:


🀝 Contributing

  1. Fork the repo
  2. Create a new branch (git checkout -b feature-branch)
  3. Make your changes and commit (git commit -m 'Add new feature')
  4. Push (git push origin feature-branch)
  5. Open a Pull Request

πŸ’‘ Built with ❀️ by Chris Catto and the community.

A fun project build by Chris Catto for sports leaguez & schedulez

Rz Footer
  • wow! I appreciate you taking the time to read this readme; HA!

About

Rleaguez - Sports Leaguez App

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •