Documentation π
Stars are welcome π
Report an issue π
For React βοΈ
npm i --save @codescouts/storeFor Svelte π
npm i --save @codescouts/svelte-storenpm i --save @codescouts/eventnpm i --save @codescouts/uinpm i --save @codescouts/dinpm i --save-dev @codescouts/testIf you are using create-react-app π
npx create-react-app my-app --template @codescouts/clean-architecture-templateIf you want to use Vite π
npx degit codescouts-academy/react-clean-architecture my-app
public/
βββ favicon.png --> CodeScouts's logo
βββ index.html --> Main html file
β
src/
βββ application/ Our use cases
β βββ get-initial-value-use-case.ts --> Here we model the use cases
β βββ increment-use-case.ts
β βββ decrement-use-case.ts
βββ domain/ Our Business logic
β βββ events --> Here we model the domain events
β βββ model --> Here we model our business logic
β βββ repository --> Here exists the domain repositories (only abstractions)
β βββ services --> Here exists the domain services (only abstractions)
β
βββ infrastructure/ Our external services implementations
β βββ repository --> Here we model the domain events
β β βββ CounterService.ts --> Implementation for domain abstractions
β βββ services
β βββ CounterService.ts --> Implementation for domain abstractions
β
βββ ui/ React things
β βββ components/ --> Stateless components
β βββ pages/
β βββ home/
β βββ Home.tsx --> Page component (View)
β βββ useHomeViewModel.ts --> Home UI business logic (ViewModel)
β
βββ app.tsx
βββ index.tsx
If you find any errors, think there is room for improvement or simply want to contribute, you are welcome. Just fork and send us your PR π.