Skip to content

Build Creator Onboarding & Profile Module API #20

@aji70

Description

@aji70

Task: Build Creator Onboarding & Profile Module API

Overview

MyFans needs a dedicated creator identity beyond the base User record. Fans sign up as users; creators must onboard with public profile metadata (bio, handle, banner, category) before appearing in discovery flows.

This issue introduces a CreatorProfile module linked 1:1 to User, with onboarding status and public read endpoints.


Goals

  • CreatorProfile entity: userId, handle (unique), displayName, bio, bannerUrl, category, isOnboarded, createdAt
  • POST /creators/onboard — authenticated user becomes creator (RBAC role upgrade or stub)
  • GET /creators/:handle — public profile (no auth)
  • PATCH /creators/me — owner updates profile
  • Validate handle format (^[a-z0-9_]{3,30}$) and uniqueness
  • Migration + Swagger + seed one creator profile

Deliverables

  • creators module (entity, service, controller, DTOs)
  • TypeORM migration with unique index on handle
  • CreatorResponseDto (public) vs CreatorPrivateDto (owner)
  • Unit tests for handle validation and duplicate handle conflict
  • docs/creators-api.md with curl examples

Acceptance Criteria

  • User can onboard as creator and receive a persisted profile
  • Duplicate handles return 409 Conflict
  • Public endpoint never exposes email/password
  • Owner can update bio/banner; non-owner gets 403
  • Swagger documents all creator routes
  • At least 8 meaningful tests

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official Campaign

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions