Skip to content

Reorganize project structure for clarity and onboarding#13

Open
AlbertHuangT wants to merge 1 commit intomainfrom
claude/eloquent-johnson
Open

Reorganize project structure for clarity and onboarding#13
AlbertHuangT wants to merge 1 commit intomainfrom
claude/eloquent-johnson

Conversation

@AlbertHuangT
Copy link
Copy Markdown
Owner

Summary

  • Move all 10 ViewModels out of Views/ subfolders into a unified ViewModels/ directory organized by feature (Arena, Community, Account, Leaderboard)
  • Extract AppConfig.swift into a new top-level Config/ directory
  • Relocate UserSettings.swift from Services/ to ViewModels/ (it's an ObservableObject, not a service)
  • Move EventModels.swift from Views/Community/ to Models/ where domain models belong
  • Move AccountButton.swift from Views/Shared/ to Views/Account/ where it belongs

Zero code changes — all 14 operations are pure git mv renames.

Resulting top-level structure

```
App/ → Entry point + routing
Config/ → App configuration
Models/ → All Codable data structs
Services/ → Backend communication only
ViewModels/ → All ObservableObject state (13 files, feature-organized)
Views/ → Pure SwiftUI UI layer
Theme/ → Design system
Components/ → Reusable UI components
Extensions/ → Swift extensions
```

Test plan

  • Open project in Xcode
  • Product → Clean Build Folder (Shift+Cmd+K)
  • Product → Build (Cmd+B) — expect 0 errors

🤖 Generated with Claude Code

Move all ViewModels out of Views/ subfolders into a unified ViewModels/
directory organized by feature (Arena, Community, Account, Leaderboard).
Extract AppConfig into a new Config/ layer, relocate UserSettings to
ViewModels/, move EventModels to Models/, and move AccountButton to
Views/Account/ where it belongs.

No code changes - pure file moves.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant