├── .eslintignore ├── .eslintrc.json ├── .huskyrc.json ├── .lintstagedrc.json ├── LICENSE ├── README.md ├── declaration.d.ts ├── jest.config.js ├── package.json ├── public ├── global.css └── index.html ├── src ├── data │ ├── protocols │ │ └── http │ │ │ ├── http-post-client.ts │ │ │ ├── http-response.ts │ │ │ └── index.ts │ ├── test │ │ ├── index.ts │ │ ├── mock-http-client.ts │ │ └── mock-http-post.ts │ └── use-cases │ │ └── authentication │ │ ├── remote-authentication.spec.ts │ │ └── remote-authentication.ts ├── domain │ ├── errors │ │ ├── index.ts │ │ ├── invalid-credentials-error.ts │ │ └── unexpected-error.ts │ ├── models │ │ ├── account-model.ts │ │ └── index.ts │ ├── test │ │ ├── index.ts │ │ └── mock-account.ts │ └── use-cases │ │ ├── authentication.ts │ │ └── index.ts ├── infra │ └── http │ │ ├── axios-http-client │ │ ├── axios-http-client.spec.ts │ │ └── axios-http-client.ts │ │ └── test │ │ ├── index.ts │ │ └── mock-axios.ts ├── main │ └── index.tsx └── presentation │ ├── components │ ├── footer │ │ ├── footer-styles.scss │ │ └── footer.tsx │ ├── formStatus │ │ ├── form-status-styles.scss │ │ └── form-status.tsx │ ├── header │ │ ├── login-header-styles.scss │ │ └── login-header.tsx │ ├── icons │ │ └── logo.tsx │ ├── input │ │ ├── input-styles.scss │ │ └── input.tsx │ └── spinner │ │ ├── spinner-styles.scss │ │ └── spinner.tsx │ ├── contexts │ └── form-context.ts │ ├── pages │ ├── index.tsx │ ├── login │ │ ├── login-styles.scss │ │ ├── login.spec.tsx │ │ └── login.tsx │ └── router.tsx │ ├── protocols │ └── validation.ts │ ├── styles │ ├── colors.scss │ └── global.scss │ └── test │ ├── mock-authentication.ts │ └── mock-validation.ts ├── tsconfig.json └── webpack.config.js /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.huskyrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/.huskyrc.json -------------------------------------------------------------------------------- /.lintstagedrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/.lintstagedrc.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/README.md -------------------------------------------------------------------------------- /declaration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/declaration.d.ts -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/jest.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/package.json -------------------------------------------------------------------------------- /public/global.css: -------------------------------------------------------------------------------- 1 | * { 2 | 3 | } -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/public/index.html -------------------------------------------------------------------------------- /src/data/protocols/http/http-post-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/data/protocols/http/http-post-client.ts -------------------------------------------------------------------------------- /src/data/protocols/http/http-response.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/data/protocols/http/http-response.ts -------------------------------------------------------------------------------- /src/data/protocols/http/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/data/protocols/http/index.ts -------------------------------------------------------------------------------- /src/data/test/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/data/test/index.ts -------------------------------------------------------------------------------- /src/data/test/mock-http-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/data/test/mock-http-client.ts -------------------------------------------------------------------------------- /src/data/test/mock-http-post.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/data/test/mock-http-post.ts -------------------------------------------------------------------------------- /src/data/use-cases/authentication/remote-authentication.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/data/use-cases/authentication/remote-authentication.spec.ts -------------------------------------------------------------------------------- /src/data/use-cases/authentication/remote-authentication.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/data/use-cases/authentication/remote-authentication.ts -------------------------------------------------------------------------------- /src/domain/errors/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/domain/errors/index.ts -------------------------------------------------------------------------------- /src/domain/errors/invalid-credentials-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/domain/errors/invalid-credentials-error.ts -------------------------------------------------------------------------------- /src/domain/errors/unexpected-error.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/domain/errors/unexpected-error.ts -------------------------------------------------------------------------------- /src/domain/models/account-model.ts: -------------------------------------------------------------------------------- 1 | export type AccountModel = { 2 | accessToken: string 3 | } 4 | -------------------------------------------------------------------------------- /src/domain/models/index.ts: -------------------------------------------------------------------------------- 1 | export * from './account-model' 2 | -------------------------------------------------------------------------------- /src/domain/test/index.ts: -------------------------------------------------------------------------------- 1 | export * from './mock-account' 2 | -------------------------------------------------------------------------------- /src/domain/test/mock-account.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/domain/test/mock-account.ts -------------------------------------------------------------------------------- /src/domain/use-cases/authentication.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/domain/use-cases/authentication.ts -------------------------------------------------------------------------------- /src/domain/use-cases/index.ts: -------------------------------------------------------------------------------- 1 | export * from './authentication' 2 | -------------------------------------------------------------------------------- /src/infra/http/axios-http-client/axios-http-client.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/infra/http/axios-http-client/axios-http-client.spec.ts -------------------------------------------------------------------------------- /src/infra/http/axios-http-client/axios-http-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/infra/http/axios-http-client/axios-http-client.ts -------------------------------------------------------------------------------- /src/infra/http/test/index.ts: -------------------------------------------------------------------------------- 1 | export * from './mock-axios' 2 | -------------------------------------------------------------------------------- /src/infra/http/test/mock-axios.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/infra/http/test/mock-axios.ts -------------------------------------------------------------------------------- /src/main/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/main/index.tsx -------------------------------------------------------------------------------- /src/presentation/components/footer/footer-styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/components/footer/footer-styles.scss -------------------------------------------------------------------------------- /src/presentation/components/footer/footer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/components/footer/footer.tsx -------------------------------------------------------------------------------- /src/presentation/components/formStatus/form-status-styles.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/presentation/components/formStatus/form-status.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/components/formStatus/form-status.tsx -------------------------------------------------------------------------------- /src/presentation/components/header/login-header-styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/components/header/login-header-styles.scss -------------------------------------------------------------------------------- /src/presentation/components/header/login-header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/components/header/login-header.tsx -------------------------------------------------------------------------------- /src/presentation/components/icons/logo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/components/icons/logo.tsx -------------------------------------------------------------------------------- /src/presentation/components/input/input-styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/components/input/input-styles.scss -------------------------------------------------------------------------------- /src/presentation/components/input/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/components/input/input.tsx -------------------------------------------------------------------------------- /src/presentation/components/spinner/spinner-styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/components/spinner/spinner-styles.scss -------------------------------------------------------------------------------- /src/presentation/components/spinner/spinner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/components/spinner/spinner.tsx -------------------------------------------------------------------------------- /src/presentation/contexts/form-context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/contexts/form-context.ts -------------------------------------------------------------------------------- /src/presentation/pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/pages/index.tsx -------------------------------------------------------------------------------- /src/presentation/pages/login/login-styles.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/pages/login/login-styles.scss -------------------------------------------------------------------------------- /src/presentation/pages/login/login.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/pages/login/login.spec.tsx -------------------------------------------------------------------------------- /src/presentation/pages/login/login.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/pages/login/login.tsx -------------------------------------------------------------------------------- /src/presentation/pages/router.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/pages/router.tsx -------------------------------------------------------------------------------- /src/presentation/protocols/validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/protocols/validation.ts -------------------------------------------------------------------------------- /src/presentation/styles/colors.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/styles/colors.scss -------------------------------------------------------------------------------- /src/presentation/styles/global.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/styles/global.scss -------------------------------------------------------------------------------- /src/presentation/test/mock-authentication.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/test/mock-authentication.ts -------------------------------------------------------------------------------- /src/presentation/test/mock-validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/src/presentation/test/mock-validation.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/tsconfig.json -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fernanda-Kipper/Clean-Archictecture-React/HEAD/webpack.config.js --------------------------------------------------------------------------------