How asaromi/research-portfolio-monorepo works
This is a personal portfolio website with a public review feature. Visitors browse the portfolio’s profile, experience, projects, tools, and contact content; they can also view reviews or submit one. The review workflow runs from the frontend API client through the API route, validation, service, and repository to Supabase. The tree identifies additional portfolio sections whose page-level wiring was not sampled, so their internal interactions are not shown. The diagram reflects sampled API behavior and the capabilities indicated by the frontend tree.
Main entry points: routers.js Page router · reviews.controller.ts Review routes · index.vue Reviews page · reviews.service.ts Review service
Components 16
Portfolio site
- Vue application
frontend/src/App.vue - Page router
frontend/src/configs/routers.js - Portfolio content
frontend/src/pages/public
Review experience
- Reviews page
frontend/src/pages/public/review/index.vue - Review card
frontend/src/pages/public/review/components/ReviewCard.vue - Review API client
frontend/src/api/review.js
Review API
- API application
api/src/index.ts - Review routes
api/src/reviews/reviews.controller.ts - Request validation
api/src/reviews/reviews.validation.ts - API middleware
api/src/common/common.middleware.ts - Review service
api/src/reviews/reviews.service.ts - Review repository
api/src/reviews/reviews.repository.ts - Review responses
api/src/reviews/review.dto.ts - Supabase setup
api/src/utils/util.supabase.ts
Other components
- Visitor
- Supabase reviews
Connections 16
- Visitor → Page router: navigates
- Page router → Vue application: renders routes
- Page router → Portfolio content: renders portfolio
- Page router → Reviews page: renders reviews
- Reviews page → Review card: renders reviews
- Reviews page → Review API client: requests reviews
- Visitor → Reviews page: submits review
- Review API client → API application: HTTP requests
- API application → Review routes: dispatches
- Review routes → API middleware: connects Supabase
- Review routes → Request validation: validates submissions
- Review routes → Review service: calls
- Review service → Review repository: queries reviews
- Review repository → Supabase setup: initializes client
- Review repository → Supabase reviews: reads and writes
- Review service → Review responses: formats responses