A modern, full-stack frontend monorepo powering multiple products and domains, including a personal portfolio website, community marketplaces, and inventory management systems.
Documentation hub: /docs/README.md
This repository contains the frontend code for several interconnected applications:
All applications share infrastructure, design systems, and code while maintaining clear boundaries and independent deployment capabilities.
This is a monorepo — all code lives in one repository, but is organized into distinct applications and shared packages:
├── app/ # Next.js App Router routes (Discart-me, QRACK)
├── pages/ # Next.js Pages Router (Personal website)
├── src/ # Shared source code (components, utilities, features)
├── components/ # Root-level shared components
├── docs/ # Documentation (architecture, decisions, guides)
└── public/ # Static assets
Key Benefits:
Location: /pages, root routes
Purpose: Professional portfolio, blog, and project showcase
Tech: Next.js Pages Router, MDX for blog posts
The main website at carlosgatti.com showcasing:
Location: /app/discart-me
Purpose: Community marketplace for condo residents to buy/sell items
Tech: Next.js App Router, Context-based auth, REST API
Status: Production
A marketplace where residents can:
Location: /app/qrack
Purpose: Mobile-first container and inventory management using QR codes
Tech: Next.js App Router, GraphQL API, QR code generation
Status: Active Development
Features:
Location: Marketing pages, components
Purpose: Smart retail infrastructure (preview/investor pages)
Status: Preview/Marketing
# Clone the repository
git clone <repository-url>
cd carlosgatti.com
# Install dependencies
npm install
# Start development server
npm run dev
# Server runs on http://localhost:3001
Create a .env.local file:
NEXT_PUBLIC_DISCARD_API_URL=http://localhost:3000
NEXT_PUBLIC_GRAPHQL_API_URL=http://localhost:3000/graphql
See individual app READMEs for specific requirements.
Project documentation, architecture decisions, refactor plans, and analysis reports are available here:
Getting Started
Core Documentation
Architecture Decisions
Refactors & Analysis
Applications
All documentation lives in Markdown (.md) files, serving as the single source of truth.
├── app/ # Next.js App Router
│ ├── discart-me/ # Discart-me application
│ └── qrack/ # QRACK application
├── pages/ # Next.js Pages Router
│ ├── api/ # API routes
│ └── ... # Personal website pages
├── src/ # Shared source code
│ ├── components/ # Shared React components
│ ├── features/ # Feature modules (auth, image processing)
│ ├── lib/ # Utilities and API clients
│ ├── hooks/ # Shared React hooks
│ └── types/ # TypeScript type definitions
├── components/ # Root-level shared components
├── docs/ # Documentation
└── public/ # Static assets
npm run dev # Start development server (port 3001)
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
All applications share a consistent design system:
/components/uiSee UI Base Guidelines for component usage.
Each application has its own authentication context:
DiscartAuthContext (REST-based)QrackAuthProvider (GraphQL-based, shared auth system)BoxHubAuthContext (GraphQL-based)See Architecture Documentation for details.
/docs/decisionsPrivate repository — All rights reserved.
Built with Next.js, TypeScript, and Tailwind CSS
Maintained by Carlos Gatti