Skip to content

Create Swarm #1

@levineam

Description

@levineam

User Story: As a user, I want to create a Swarm so that I can establish a community with its own feed.

  • Define the Lexicon schema for Swarm records (com.swarm.community).
    • Create a JSON schema with fields: name (string), members (array of DIDs).
    • Ensure compliance with AT Protocol’s Lexicon standards (refer to "Schemas & Lexicon" in the AT Protocol docs).
  • Implement backend API to create a Swarm record.
    • Use the XRPC API (com.atproto.repo.createRecord) to store the record in the creator’s repository.
    • Handle DID generation for users without an existing DID (see "DID" and "Identity" sections).
  • Develop frontend UI for creating a Swarm.
    • Add a "Create Swarm" button and form for entering the Swarm name.
    • Redirect users to the Swarm’s feed page after successful creation.
  • Write unit tests for the Lexicon schema and backend API.
    • Test schema validation (e.g., valid/invalid name, members formats).
    • Verify XRPC calls succeed and handle errors (e.g., repository access issues).
  • Conduct integration tests for Swarm creation.
    • Test end-to-end creation flow (UI → API → repository storage).
    • Verify redirect behavior and data persistence in the repository.
  • Perform user acceptance testing (UAT) for Swarm creation.
  • Ensure users can create Swarms with valid names and see them in the UI.
  • Validate error handling for invalid inputs (e.g., duplicate names).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions