Carlos Eduardo Gatti Ferreira

carlosgatti.com — Frontend Monorepo

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

🌟 What This Is

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.

🎯 Who This Is For

🏗️ Architecture Overview

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:

📦 Products & Applications

Personal Website

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:

Discart-me

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:

QRACK

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:

BoxHub

Location: Marketing pages, components
Purpose: Smart retail infrastructure (preview/investor pages)
Status: Preview/Marketing


🚀 Quick Start

Prerequisites

Installation

# 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

Environment Variables

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.


📚 Documentation

Project documentation, architecture decisions, refactor plans, and analysis reports are available here:

👉 View All Documentation

Getting Started

Core Documentation

Architecture Decisions

Refactors & Analysis

Applications

All documentation lives in Markdown (.md) files, serving as the single source of truth.


🔧 Development

Project Structure

├── 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

Scripts

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

🎨 Design System

All applications share a consistent design system:

See UI Base Guidelines for component usage.


🔐 Authentication

Each application has its own authentication context:

See Architecture Documentation for details.


📝 Contributing

  1. Follow the conventions
  2. Document architectural decisions in /docs/decisions
  3. Keep app boundaries clear (don’t couple apps unnecessarily)
  4. Write tests for new features
  5. Update documentation when making changes

🛣️ Roadmap


📄 License

Private repository — All rights reserved.


🙋 Questions?


Built with Next.js, TypeScript, and Tailwind CSS
Maintained by Carlos Gatti