Profile
Overview
Section titled “Overview”The profile module provides comprehensive user profiles with editable sections for professional information, marketplace services, and a follow system.
Module path: src/lib/modules/profile/
Routes: /profile, /profile-by-username/[id], /public-profile/[id]
Profile Sections
Section titled “Profile Sections”| Section | Description |
|---|---|
| Personal Info | Name, avatar, banner, about me, tagline |
| Work Experience | Job history with companies, skills, achievements |
| Education | Degrees, institutions, dates |
| Skills | Skill name, level (beginner-expert), category |
| Projects | Portfolio items with media, dates, skills used |
| Testimonials | Client testimonials with author info |
| Certifications | Professional certifications with credentials |
| Social Links | Platform links (GitHub, LinkedIn, etc.) |
| CTAs | Call-to-action buttons (hire, contact, schedule) |
Follow System
Section titled “Follow System”interface Follow { followerId: string; followingId: string; createdAt: Timestamp;}followManager
Section titled “followManager”followManager.isFollowing; // Is following viewed profilefollowManager.myFollowers; // Users following mefollowManager.myFollowing; // Users I followfollowManager.mutualFollows; // Bidirectional followsfollowManager.toggleFollow();Firestore collection: follows/{followerId}_{followingId}
Marketplace Services
Section titled “Marketplace Services”Profiles can include marketplace service listings:
interface Service { title: string; description: string; category: ServiceCategory; subcategory: string; packages: ServicePackage[]; // basic/standard/premium status: 'published' | 'archived' | 'draft'; media: MediaItem[]; faqs: FAQ[]; requirements: string;}State Management
Section titled “State Management”profileManager
Section titled “profileManager”profileManager.loadProfileById(id);profileManager.createProfile(data);profileManager.updateProfile(updates);profileManager.openPreviewDialog();profileManager.openBusinessCardDialog();Manages subcollections: testimonials, skills, workExperience, education, certifications, projects, ctas, socialLinks.
Components
Section titled “Components”Profile Editing
Section titled “Profile Editing”profile-editor.svelte- Main editor wrapperpersonal-information.svelte- Name and contactprofile-avatar.svelte/profile-banner.svelte- Image managementabout-me.svelte- Bio, tagline, contact, languages, locationexperiences-principal.svelte- Work historyeducation.svelte- Education entriesprojects.svelte- Portfolio with drag-drop mediatestimonials.svelte- Client testimonialscertifications.svelte- Professional certscta.svelte- Call-to-action buttonssocial-links.svelte- Social platform links
Profile View
Section titled “Profile View”profile-preview.svelte- Full profile displayprofile-header.svelte- Header with avatar and stats- Section-by-id components for each section
Service Editor
Section titled “Service Editor”service-editor.svelte- Service creation/editingservice-edit-packages.svelte- Pricing tiersservice-edit-faq.svelte- FAQ managementservice-edit-media.svelte- Media uploads
Firestore Structure
Section titled “Firestore Structure”profiles/{userId}/├── testimonials/{id}├── skills/{id}├── workExperience/{id}├── education/{id}├── certifications/{id}├── projects/{id}├── ctas/{id}└── socialLinks/{id}Routes
Section titled “Routes”| Route | Purpose |
|---|---|
/profile | Edit own profile |
/profile-by-username/[id] | View profile by username (authenticated) |
/public-profile/[id] | Public profile view (no auth required) |