System Architecture
This project follows a monorepo architecture containing two independently deployed applications:
- Portfolio Web Application (Next.js)
- Documentation Platform (Docusaurus)
Both applications share a single Git repository but are deployed separately.
High-Level Architectureβ
Monorepo Structureβ
Why Monorepo?
- Single source of truth
- Centralized version control
- Independent deployments
- Easier long-term scaling
- Clear separation of concerns
Web Application Architectureβ
The portfolio application uses:
- App Router
- Server Components
- API integration layer
- Typed data contracts
Data Flow
- Server component fetches repositories.
- Data is filtered and transformed.
- Project cards render on the client.
- Sensitive tokens remain server-side.
Deployment Pipelineβ
flowchart LR Dev[Developer Push] --> GitHubRepo[GitHub Repository] GitHubRepo --> VercelCI[Vercel CI/CD] VercelCI --> Production[Production Deployment]
CI/CD Principles
- Automatic build on every push
- Environment variable isolation
- Separate production builds per app
- Zero-downtime deployments
Design Principlesβ
- Separation of concerns
- Secure API handling
- Scalable folder structure
- Typed contracts
- Infrastructure as configuration
- Documentation-first mindset