A professional, high-performance portfolio application featuring a custom-built Content Management System (CMS). Built with Hexagonal Architecture in the backend and Angular v21 (Signals & Native Control Flow) in the frontend.
- Dynamic CMS: Manage Hero section, Skills, Social Links, Professional Experience, and Education without touching the code.
- Media Management: Upload and manage profile images, project screenshots, and CV files directly from the UI.
- Modern UI/UX: Premium design with glassmorphism, smooth gradients, and fully responsive layouts.
- Secure Authentication: JWT-based admin authentication to protect CMS actions.
- Advanced State Management: Powered by Angular Signals for reactive and efficient UI updates.
- Language: Go (Golang)
- Framework: Echo (High performance, minimalist web framework)
- Architecture: Hexagonal (Ports & Adapters) for maximum testability and decoupling.
- Database: PostgreSQL with
sqlxandpgxdriver. - DI: Samber/DO for robust Dependency Injection.
- Framework: Angular v21 (Standalone Components)
- Logic: Signals for state management and reactive control flow (
@if,@for). - Styling: Vanilla SCSS with a custom design system.
- Features: Reactive Forms, NgOptimizedImage, and Modular Modals.
- Go 1.23+
- Node.js 20+
- PostgreSQL 15+ (or Docker)
You can use the provided docker-compose.yaml to spin up the database and pgAdmin:
cd backend
docker-compose up -dThe backend uses environment variables. You can set them in your terminal or a .env file (not committed).
Run migrations (if you have a migration tool) or ensure the schema is loaded from backend/migrations/.
Since the repository is clean of hardcoded credentials, you must create your first admin user manually:
cd backend
ADMIN_EMAIL=your@email.com ADMIN_PASSWORD=your_password go run cmd/seed/main.goBackend:
cd backend
go run cmd/api/main.goFrontend:
cd frontend
npm install
npm start.
├── backend/ # Go 1.26.2 (Clean Architecture)
│ ├── cmd/ # Entry points (API & Seeder)
│ ├── internal/ # Core business logic & Adapters
│ └── migrations/ # Database schema versions
├── frontend/ # Angular v21 Application
│ ├── src/app/ # Components, Services, and Signals
│ └── src/styles/ # Global design system
└── openspec/ # SDD (Spec-Driven Development) Artifacts
This project is open-source and available under the MIT License.
Developed with ❤️ by Salvucci Facundo