Architecture
This site is designed to be a clean, fast, and maintainable portfolio and playground. It prioritizes simplicity and standard web technologies over complex frameworks.
Tech Stack
- Backend: .NET 8, ASP.NET Core Web API
- Frontend: ASP.NET Core Razor Pages (Server-side rendering)
- Database: PostgreSQL with Entity Framework Core
- Styling: Custom CSS (No heavy frameworks)
- Deployment: Docker & Docker Compose
Key Decisions
Razor Pages vs SPA
I chose Razor Pages to keep the architecture simple and SEO-friendly. For a content-heavy site like a portfolio, the complexity of a React/Angular SPA wasn't justified. Razor Pages offer excellent performance and a straightforward development model.
PostgreSQL
Using PostgreSQL allows for robust data management. I use EF Core for data access, ensuring type safety and easy migrations.
Lab Area
The "Lab" section is a space for small tools and experiments. It's designed to be easily extensible, allowing me to drop in new tools without affecting the main portfolio structure.