How sultanalomran/sultanalomran-portfolio-platform works
Purpose and System Shape
The repository defines a planned portfolio platform for presenting engineering projects, case studies, technical infographics, experience, certifications, and technology capabilities. It also includes private content administration plus engagement analytics. The checked-in repository is currently documentation-led; no application source directories are present.
Grounding documents: README.md, docs/Project_00_Master_Document.md, docs/Implementation_Plan.md.
Planned Entry Points
Three independently deployed application boundaries are specified:
• Public portfolio client: Angular with Tailwind CSS (README.md).
• Private administrative client: Angular using Metronic (README.md).
• Backend API: ASP.NET Core Web API using Entity Framework Core and SQL Server (README.md).
The browser clients should access portfolio content through the API rather than directly accessing the database.
Public Portfolio Experience
Portfolio.Web is the public read-oriented surface. Its primary responsibility is rendering published projects, case studies, handbook/infographic content, professional profile data, and technology capabilities. It is expected to consume public API endpoints and emit engagement events for analytics.
Relevant design and planning context: README.md, docs/ui, docs/Implementation_Plan.md.
Private Content Administration
Portfolio.Admin is a protected management boundary for creating, editing, publishing, and organizing portfolio content. It should remain separate from the public client because its authentication, authorization, editorial workflows, and management UI requirements differ materially.
Relevant requirements context: README.md, docs/Project_00_Master_Document.md, docs/Implementation_Plan.md.
API and Domain Boundary
Portfolio.Api is the central control plane between both Angular clients and persistent data. ASP.NET Core Web API hosts public-content delivery, protected administration operations, content lifecycle behavior, and analytics ingestion/query capabilities. EF Core is the persistence abstraction, with SQL Server as the authoritative relational store.
Relevant architecture/data references: README.md, docs/Database_Specification.md, docs/Project_00_Master_Document.md.
Content and Analytics Flow
The intended main flow is:
1. Administrators manage content through Portfolio.Admin.
2. The admin client sends authenticated write operations to Portfolio.Api.
3. The API validates and persists content through EF Core into SQL Server.
4. Portfolio.Web fetches published/readable content from public API endpoints.
5. Public interactions generate engagement data, which the API stores and exposes for administrative analysis.
The key boundary is the API: clients should not share database access or enforce publishing/security rules independently.
Infrastructure and External Dependencies
Material runtimes are Angular in both frontend applications and .NET/ASP.NET Core in the API. UI dependencies differ intentionally: Tailwind CSS for the public experience and Metronic for administration. Persistence depends on SQL Server via EF Core. No hosting provider, identity provider, cache, message broker, object storage system, or third-party analytics service is identified in the supplied repository tree.
Database intent is documented in docs/Database_Specification.md; implementation sequencing is captured in docs/Implementation_Plan.md.
Components 11
Public Experience
- Portfolio.Web · Public read-oriented portfolio application.
README.md - Tailwind CSS
README.md
Content Administration
- Portfolio.Admin · Protected editorial management application.
README.md - Metronic
README.md
API Control Plane
- Portfolio.Api · Central boundary for content, publishing, security, and analytics.
README.md - Public Content API · Serves published portfolio content.
docs/Implementation_Plan.md - Administration API · Handles authenticated content writes and editorial operations.
docs/Implementation_Plan.md - Analytics API · Ingests engagement events and exposes administrative analysis.
docs/Implementation_Plan.md - Content Lifecycle · Applies publishing and content-management rules.
docs/Project_00_Master_Document.md
Persistence
- Entity Framework Core · Persistence abstraction used by the API.
README.md - SQL Server · Authoritative store for content and engagement data.
docs/Database_Specification.md
Connections 11
- Portfolio.Web → Tailwind CSS: renders with
- Portfolio.Admin → Metronic: renders with
- Portfolio.Web → Public Content API: fetches published content
- Portfolio.Web → Analytics API: emits engagement events
- Portfolio.Admin → Administration API: sends authenticated writes
- Portfolio.Admin → Analytics API: queries engagement analysis
- Public Content API → Content Lifecycle: reads published state
- Administration API → Content Lifecycle: manages content
- Analytics API → Entity Framework Core: stores and queries events
- Content Lifecycle → Entity Framework Core: persists content
- Entity Framework Core → SQL Server: reads and writes