Skip to content

Refactor project: Improve and restructure folder layout #7

@merenyimiklos

Description

@merenyimiklos

Javaslat a projekt mappa struktúrájának logikusabb kialakítására, hogy jobban elkülönüljenek az alkalmazás fő belépési pontjai, az újrahasznosítható core elemek és a funkcionális modulok (features). A javasolt struktúra:

hu/petrik/filcapp/
├── app
│   ├── App.kt           # belépési pont, setContent, Theme, root Compose
│   ├── Navigation.kt    # NavHost, route-ok
│   ├── AppState.kt      # globális state, scaffold/snackbar/drawer kezelése
├── core
│   ├── ui
│   │   ├── components   # pl. PrimaryButton, AppTextField, LoadingIndicator
│   │   ├── theme        # Color, Typography, Theme
│   │   └── layout       # AppScaffold
│   ├── util            # Validators, Logger, Constants
│   ├── analytics       # AnalyticsTracker
│   ├── network         # ApiClient, HttpEngine
│   ├── datasource      # AuthRemoteDataSource, AuthLocalDataSource
│   └── platform        # Platform specifikus kód
├── features
│   ├── auth
│   │   ├── ui (LoginScreen, RegisterScreen, ...)
│   │   ├── state (AuthState, AuthIntent)
│   │   ├── viewmodel (AuthViewModel)
│   │   ├── domain (AuthRepository, LoginUseCase)
│   │   └── model (User)
│   ├── loyalty
│   └── profile
  • core: újrahasznosítható (commonMain) Compose és util kód
  • app: indítás, navigáció, belépési pont
  • features: üzleti logika, domain specifikus részek

A mostani mapparendszer átalakítása:

  • componentscore/ui/components
  • screensfeatures/*/ui
  • App.ktapp/App.kt
  • Platform.ktcore/platform/Platform.kt

Ez jelentősen növeli az átláthatóságot és skálázhatóságot, különösen ha később több feature vagy platform-specifikus bővítés kerül a projektbe.


További lépések:

  1. Projekt struktúra átszervezése a javasolt módon
  2. Fájlok átmozgatása, importok frissítése

Kérlek nézd át, és ha érthető, akkor készítsd el az átszervezést!

Metadata

Metadata

Labels

documentationImprovements or additions to documentation

Type

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions