A high-performance polyglot monorepo orchestrated with Turborepo and npm workspaces, housing personal web applications, interactive dashboards, portfolios, and backend microservices maintained by Stefano Monolo.
| Application | Path | Framework / Tech Stack | Description |
|---|---|---|---|
cdn |
apps/cdn |
NestJS 10, RxJS, Express | Backend REST API & media asset CDN microservice |
cdn-ui |
apps/cdn-ui |
Nuxt 3, Vue 3, Tailwind CSS v4, Vue Query | Admin dashboard UI for managing CDN files and assets |
site |
apps/site |
Nuxt 3, Vue 3, Tailwind CSS v4, Nuxt Icons & Fonts | Personal website & digital portfolio |
website |
apps/website |
Next.js 14, React 18, TypeScript, Tailwind CSS v3 | Web application built with Next.js |
resume |
apps/resume |
Nuxt 3, Vue 3, Tailwind CSS v3 | Interactive CV / Online Resume |
resume-template |
apps/resume-template |
HTML5, CSS3 | ATS-optimized static single-page HTML resume template |
mfd |
apps/mfd |
Nuxt 3, Vue 3, Pinia, Vue Query, Tailwind CSS v3 | Multi-Function Dashboard application |
graph TD
Root["mono-lo-repo (Turborepo + npm)"]
subgraph Frontends["Frontend Applications"]
SITE["site (Nuxt 3 + Tailwind v4)"]
WEBSITE["website (Next.js 14 + React)"]
RESUME["resume (Nuxt 3)"]
RESUME_TEMP["resume-template (Static HTML/CSS)"]
MFD["mfd (Nuxt 3 + Pinia)"]
CDN_UI["cdn-ui (Nuxt 3 + Tailwind v4)"]
end
subgraph Gateways["Gateway APIs & Microservices"]
CDN["cdn (NestJS API)"]
end
Root --> Frontends
Root --> Gateways
CDN_UI -. Management API .-> CDN
- Node.js:
^20.0.0or later - Package Manager:
npm@11.2.0(enforced viapackageManagerfield)
Clone the repository and install dependencies using npm:
git clone https://github.com/smnl/mono-lo-repo.git
cd mono-lo-repo
npm installCommand scripts defined in package.json leverage Turborepo caching and parallelization.
Run all applications in development mode simultaneously:
npm run devOr run a specific application or stack:
| Application / Target | Command |
|---|---|
| CDN API | npm run dev:cdn |
| CDN UI | npm run dev:cdn-ui |
| Site | npm run dev:site |
| Website | npm run dev:website |
| Resume | npm run dev:resume |
| Resume Template | npm run dev:resume-template |
| MFD | npm run dev:mfd |
Build all workspace apps:
npm run buildOr build a specific workspace:
npm run build:cdn-ui # Build CDN UI
npm run build:site # Build Site
npm run build:website # Build Website
npm run build:resume # Build Resume
npm run build:resume-template # Build Resume Template
npm run build:mfd # Build MFD
npm run build:dev # Build CDN APIFormat all codebase files with Prettier:
npm run format- CDN Microservice Docker Image: Located in
apps/cdn. - Automated Workflow: Defined in
.github/workflows/build-push-cdn.yml. - GitHub Container Registry (GHCR): Triggers on pushes to
mainimpactingapps/cdn/**to build and push ARM64 images toghcr.io/<owner>/cdn:latest.
mono-lo-repo/
├── .github/
│ └── workflows/
│ └── build-push-cdn.yml # GitHub Actions workflow for CDN Docker builds
├── apps/
│ ├── cdn/ # NestJS backend API / CDN microservice
│ ├── cdn-ui/ # Nuxt 3 admin interface for CDN
│ ├── mfd/ # Nuxt 3 multi-function dashboard
│ ├── resume/ # Nuxt 3 online CV / resume
│ ├── resume-template/ # ATS-optimized static HTML resume template
│ ├── site/ # Nuxt 3 personal website & portfolio
│ └── website/ # Next.js 14 web app
├── package.json # Root dependencies & Turborepo scripts
├── turbo.json # Turborepo task pipeline configuration
├── .prettierrc # Code formatting configuration
└── README.md # Project documentation
Stefano Monolo
- Email: stefano@smnl.dev
Private & Proprietary. All rights reserved.