How aadarsh-guru/create-portfolio works
Create Portfolio is a hosted portfolio-building platform. Owners authenticate, manage profile information, skills, social links, projects and branding in the dashboard, then publish a portfolio for visitors to browse; premium accounts can use custom domains and caching. The public portfolio route loads published content, records views and renders contact and project sections. Admin pages manage site settings and analytics. The tree and README establish these product areas, while sampled code confirms public-page caching/view tracking and project mutations; some dashboard and integration wiring is not sampled.
Main entry points: dashboard/page.tsx Owner dashboard · [identifier]/page.tsx Public portfolio · project.ts Project mutations · auth.ts Auth configuration
Components 21
Portfolio authoring
- Owner dashboard
src/app/(private)/dashboard/page.tsx - Profile editing
src/app/(private)/dashboard/info/page.tsx - Project editing
src/actions/project.ts - Skills editing
src/actions/skill.ts - Brand and domain
src/app/(private)/dashboard/customize/page.tsx - Social links
src/app/(private)/dashboard/social/page.tsx
Portfolio publishing
- Public portfolio
src/app/[identifier]/page.tsx - Project detail
src/app/[identifier]/projects/[projectId]/page.tsx - Visitor contact
src/components/site/ContactForm.tsx
Platform operations
- Admin console
src/app/(private)/admin/page.tsx - Authentication endpoint
src/app/api/auth/[...nextauth]/route.tsx - Auth configuration
src/lib/auth.ts - Project mutations
src/actions/project.ts
External services
- Portfolio database
src/lib/prisma.ts - Redis cache
src/lib/redis.ts - OAuth providers
- AWS media storage
src/lib/media.ts - Email delivery
src/lib/mail.ts
Other components
- Portfolio owner
- Portfolio visitor
- Site admin
Connections 20
- Portfolio owner → Owner dashboard: manages portfolio
- Owner dashboard → Profile editing: edits profile
- Owner dashboard → Project editing: manages projects
- Owner dashboard → Skills editing: manages skills
- Owner dashboard → Brand and domain: configures branding
- Owner dashboard → Social links: manages links
- Project editing → Project mutations: submits changes
- Project mutations → Portfolio database: creates and updates
- Project mutations → AWS media storage: deletes media
- Project mutations → Redis cache: invalidates cache
- Portfolio visitor → Public portfolio: opens portfolio
- Public portfolio → Portfolio database: loads profile and views
- Public portfolio → Redis cache: reads and writes cache
- Public portfolio → Project detail: opens project
- Public portfolio → Visitor contact: submits inquiry
- Site admin → Admin console: manages site
- Authentication endpoint → Auth configuration: dispatches auth
- Auth configuration → OAuth providers: configures sign-in
- Auth configuration → Portfolio database: finds or creates user
- Visitor contact → Email delivery: sends inquiry