├── README.md ├── backend ├── .gitignore ├── jest.config.js ├── package.json ├── src │ └── main.ts ├── tsconfig.json └── yarn.lock ├── create.sql ├── frontend ├── .gitignore ├── .vscode │ └── extensions.json ├── README.md ├── index.html ├── package.json ├── src │ ├── App.vue │ ├── component │ │ └── TodoListComponent.vue │ ├── entity │ │ ├── Todo.ts │ │ └── TodoList.ts │ ├── infra │ │ ├── gateway │ │ │ ├── TodosGateway.ts │ │ │ └── TodosGatewayHttp.ts │ │ ├── http │ │ │ ├── AxiosAdapter.ts │ │ │ ├── FetchAdapter.ts │ │ │ └── HttpClient.ts │ │ └── observer │ │ │ ├── Observable.ts │ │ │ └── Observer.ts │ ├── main.ts │ ├── style.css │ ├── view │ │ └── TodoListView.vue │ └── vite-env.d.ts ├── test │ ├── App.test.ts │ ├── Todo.test.ts │ ├── TodoList.test.ts │ └── TodoListComponent.test.ts ├── tsconfig.json ├── tsconfig.node.json ├── vite.config.ts └── yarn.lock └── resources ├── clean_architecture.png ├── code_design_architecture.png ├── dip1.png ├── dip2.png ├── portsandadapters.png ├── tests_1.png └── tests_2.png /README.md: -------------------------------------------------------------------------------- 1 | Siga no YouTube em https://youtube.com/rodrigobranas -------------------------------------------------------------------------------- /backend/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /backend/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/backend/jest.config.js -------------------------------------------------------------------------------- /backend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/backend/package.json -------------------------------------------------------------------------------- /backend/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/backend/src/main.ts -------------------------------------------------------------------------------- /backend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/backend/tsconfig.json -------------------------------------------------------------------------------- /backend/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/backend/yarn.lock -------------------------------------------------------------------------------- /create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/create.sql -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/.gitignore -------------------------------------------------------------------------------- /frontend/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["Vue.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/README.md -------------------------------------------------------------------------------- /frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/index.html -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/src/App.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/App.vue -------------------------------------------------------------------------------- /frontend/src/component/TodoListComponent.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/component/TodoListComponent.vue -------------------------------------------------------------------------------- /frontend/src/entity/Todo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/entity/Todo.ts -------------------------------------------------------------------------------- /frontend/src/entity/TodoList.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/entity/TodoList.ts -------------------------------------------------------------------------------- /frontend/src/infra/gateway/TodosGateway.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/infra/gateway/TodosGateway.ts -------------------------------------------------------------------------------- /frontend/src/infra/gateway/TodosGatewayHttp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/infra/gateway/TodosGatewayHttp.ts -------------------------------------------------------------------------------- /frontend/src/infra/http/AxiosAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/infra/http/AxiosAdapter.ts -------------------------------------------------------------------------------- /frontend/src/infra/http/FetchAdapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/infra/http/FetchAdapter.ts -------------------------------------------------------------------------------- /frontend/src/infra/http/HttpClient.ts: -------------------------------------------------------------------------------- 1 | export default interface HttpClient { 2 | get (url: string): Promise; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/infra/observer/Observable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/infra/observer/Observable.ts -------------------------------------------------------------------------------- /frontend/src/infra/observer/Observer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/infra/observer/Observer.ts -------------------------------------------------------------------------------- /frontend/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/main.ts -------------------------------------------------------------------------------- /frontend/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/style.css -------------------------------------------------------------------------------- /frontend/src/view/TodoListView.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/view/TodoListView.vue -------------------------------------------------------------------------------- /frontend/src/vite-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/src/vite-env.d.ts -------------------------------------------------------------------------------- /frontend/test/App.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/test/App.test.ts -------------------------------------------------------------------------------- /frontend/test/Todo.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/test/Todo.test.ts -------------------------------------------------------------------------------- /frontend/test/TodoList.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/test/TodoList.test.ts -------------------------------------------------------------------------------- /frontend/test/TodoListComponent.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/test/TodoListComponent.test.ts -------------------------------------------------------------------------------- /frontend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/tsconfig.json -------------------------------------------------------------------------------- /frontend/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/tsconfig.node.json -------------------------------------------------------------------------------- /frontend/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/vite.config.ts -------------------------------------------------------------------------------- /frontend/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/frontend/yarn.lock -------------------------------------------------------------------------------- /resources/clean_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/resources/clean_architecture.png -------------------------------------------------------------------------------- /resources/code_design_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/resources/code_design_architecture.png -------------------------------------------------------------------------------- /resources/dip1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/resources/dip1.png -------------------------------------------------------------------------------- /resources/dip2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/resources/dip2.png -------------------------------------------------------------------------------- /resources/portsandadapters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/resources/portsandadapters.png -------------------------------------------------------------------------------- /resources/tests_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/resources/tests_1.png -------------------------------------------------------------------------------- /resources/tests_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodrigobranas/clean_architecture_frontend_fullcycle/HEAD/resources/tests_2.png --------------------------------------------------------------------------------