How sudan-pandey/portfolio-forge works
Portfolio Forge is a PHP portfolio-building application. The main user journey is account creation, resume-assisted or manual content entry, section and design customization, preview, then public sharing; visitors’ views are tracked. Separate branches provide template rendering and administration of users, templates, and system metrics. The README documents several capabilities whose exact call sites are not present in the sampled excerpts, so those links reflect documented behavior and are limited to clear subsystem relationships.
Main entry points: database.php Application database · view.php Public portfolio router · resume.php Resume import · preview.php Owner preview
Components 25
Accounts & access
- Registration
register.php - User login
login.php - User access guard
includes/auth.php - Admin access guard
includes/admin-auth.php - User logout
logout.php
Portfolio authoring
- User dashboard
user/dashboard.php - Resume import
user/resume.php - Section editor
user/sections.php - Profile editor
user/profile.php - Portfolio settings
user/edit-portfolio.php - Template selection
user/templates.php - Uploaded resumes
uploads/resumes - Shared utilities
includes/functions.php
Publishing & display
- Owner preview
user/preview.php - Public portfolio router
portfolio/view.php - Five template renderers
templates - View analytics
user/statistics.php
Administration
- Admin metrics
admin/dashboard.php - User management
admin/users.php - Template management
admin/templates.php
Other components
- Visitor
- Portfolio user
- Administrator
- Application database
config/database.php - pdftotext
Connections 32
- Portfolio user → Registration: creates account
- Portfolio user → User login: signs in
- Administrator → Admin access guard: requests access
- Registration → Application database: stores account
- User login → Application database: checks credentials
- User access guard → Application database: checks account status
- Admin access guard → Application database: checks admin
- Portfolio user → User dashboard: manages portfolio
- User dashboard → User access guard: requires login
- Resume import → Shared utilities: uses extraction helpers
- Resume import → Uploaded resumes: stores upload
- Resume import → Application database: saves resume data
- Shared utilities → pdftotext: extracts PDF text
- Section editor → Application database: saves sections
- Profile editor → Application database: saves profile
- Portfolio settings → Application database: saves settings
- Template selection → Application database: updates selection
- Owner preview → Public portfolio router: loads preview
- Owner preview → Application database: gets portfolio
- Visitor → Public portfolio router: opens portfolio
- Public portfolio router → Application database: loads portfolio data
- Public portfolio router → Five template renderers: renders selected design
- Public portfolio router → Application database: records public visit
- Portfolio user → View analytics: views analytics
- View analytics → Application database: reads visit metrics
- Admin metrics → Application database: reads system metrics
- User management → Application database: manages accounts
- Template management → Application database: manages availability
- Administrator → Admin metrics: reviews metrics
- Administrator → User management: manages users
- Administrator → Template management: manages templates
- Portfolio user → User logout: ends session