The project idea is inspired by McBroken.com made by rashiq.
- View the status of ice machines for McFlurry, McSundae, and milkshake products at McDonald's locations in the US, EU, and Australia.
- Turborepo - Monorepo build system
- Serverless Framework 3.x - AWS Lambda deployment
- Prisma 6.x - ORM with PostgreSQL 17
- Next.js 15 - Frontend framework (App Router + Turbopack)
- React 19 - UI library
- TailwindCSS 3.x - Styling
- Radix UI & shadcn/ui - UI Components
- Mapbox GL - Map rendering
- pnpm 10.x - Package manager
This project uses a monorepo structure managed by Turborepo:
apps/
├── frontend/ # Next.js 15 application - @mcbroken/frosty
├── mcall/ # Serverless: EU region - @mcbroken/mcall
├── mcus/ # Serverless: US region - @mcbroken/mcus
└── mcau/ # Serverless: AU region - @mcbroken/mcau
packages/
├── database/ # Prisma client & schema - @mcbroken/db
├── mclogik/ # Shared business logic - @mcbroken/mclogik
├── eslint-config/ # Shared ESLint config
├── typescript-config/ # Shared TypeScript config
└── serverless-config/ # Shared Serverless config
- Node.js 22+ (see
.nvmrc) - pnpm 10.x (9+ minimum)
- Docker and Docker Compose for local PostgreSQL
- Tokens: You need to have basic tokens from the McDonald's app to use their API.
- Environment: Copy
.env.distto.envand fill in the required values. - Install: Run
pnpm installto install all dependencies across the monorepo. - Database: Run
docker-compose -f docker-compose.dev.yml up -dto start your local PostgreSQL database. - Generate Prisma Client: Run
pnpm turbo run db:generateto generate the Prisma client.
# Start all services
pnpm dev
# Run a specific app
pnpm --filter @mcbroken/frosty dev
# Generate Prisma client (required after schema changes)
pnpm turbo run db:generate
# Run type checking
pnpm turbo run check-types
# Run linting
pnpm turbo run lint
# Run tests
pnpm turbo run test
# Invoke a serverless function locally
cd apps/mcall
pnpm invoke functionName
pnpm invoke getItemStatus -- --data '{"countryList": ["US"]}'For detailed documentation, see the .ai/ directory:
- Project overview and architecture
- Development workflow
- Code patterns and conventions
You can find more information about the APIs here.