About the project
A personal website featuring a public portfolio, multilingual blog (EN/PT), and a fully custom admin dashboard for managing all content. Built end-to-end with a NestJS API, Next.js frontend with SSR, TipTap rich-text editor, and Firebase authentication — self-hosted on a VPS with automated CI/CD.
- Multilingual content — Full EN/PT support with locale-prefixed URLs and per-entity translations
- Custom admin dashboard — CRUD for profile, career, projects, and blog posts, protected by Firebase Auth
- Rich-text editor — TipTap WYSIWYG editor for writing and formatting blog posts
- Security logging — Dashboard view for auth failures, rate limits, and internal errors
- Self-hosted — Docker Compose + Nginx on a VPS, deployed via GitHub Actions