Portfolio — Data Models

Database schemas and data models for the Portfolio module

Portfolio — Data Models

This page documents the database schemas for the Portfolio module. Understanding these models helps when building external integrations.

Profile

The main profile entity for a portfolio.

Field Type Description
id integer Primary key
projectId integer Parent project
userId integer Owner
firstName text First name
lastName text Last name
title text Professional title
bio text Biography/about text
avatarUrl text Profile image URL
location text Location
email text Contact email
phone text Phone number
website text Personal website URL

Projects

Portfolio projects/works.

Field Type Description
id integer Primary key
profileId integer Parent profile
title text Project name
description text Project description
imageUrl text Cover image
projectUrl text Live project URL
githubUrl text Source code URL
technologies jsonb Array of tech names
featured boolean Featured project flag
startDate timestamp Project start date
endDate timestamp Project end date
sortOrder integer Display order

Skills

Professional skills with categories and proficiency levels.

Field Type Description
id integer Primary key
profileId integer Parent profile
name text Skill name
category text Skill category (e.g., "Frontend", "Backend")
level integer Proficiency 1-100
icon text Icon identifier
sortOrder integer Display order

Experiences

Work experiences.

Field Type Description
id integer Primary key
profileId integer Parent profile
company text Company name
position text Job title
description text Role description
location text Work location
startDate timestamp Start date
endDate timestamp End date (null = current)
isCurrent boolean Currently employed

Testimonials

Client or colleague testimonials.

Field Type Description
id integer Primary key
profileId integer Parent profile
authorName text Testimonial author
authorTitle text Author's title
authorCompany text Author's company
authorAvatar text Author's photo URL
content text Testimonial text
rating integer Rating 1-5
Field Type Description
id integer Primary key
profileId integer Parent profile
platform text Platform name (github, linkedin, twitter...)
url text Profile URL
icon text Icon identifier
sortOrder integer Display order