Skip to content
Nicolás Fernández edited this page Nov 4, 2025 · 4 revisions

Welcome to the TTRPG Character Forge's wiki!

Project structure

The project is currently separated in three main layers

  • Domain: The core business logic and rules for our app indepent of any UI or datasource
  • Entities: Core business models that represent the fundamental data and rules.
  • UseCases: Specific application tasks or actions that orchestrates the business logic.
  • Data: responsible for fetching and persisting data from various sources contains two parts:
  • Repositories: Interface for Data access, keeping the domain independent from specific data sources.
  • DataSources: Implementations that interact with API's, databases, or other storage and data providers.
  • Presentation: Our UI code. It shows screens. Takes input from users. And show results.
  • View: SwiftUI Views that display results and screens to users and take input that is requested to the ViewModel
  • ViewModel: Formats data and user input to pass it to the UseCase.

Coverage

Aim to cover >=80% coverage on Domain Layer and Repository Interfaces at least.

Workflow steps

  1. Create a branch from develop named as issue-id ([User Story Id])
  2. Commit changes, add/update unit tests as needed.
  3. Lint before submitting PR.
  4. Add copilot as reviewer.
  5. Wait for approvals to merge.

Clone this wiki locally