├── README.md ├── functional-basic ├── .editorconfig ├── .eslintrc.js ├── .github │ └── workflows │ │ ├── lint.yml │ │ └── test.yml ├── .gitignore ├── .stylelintrc.json ├── LICENSE ├── Makefile ├── README.md ├── cypress.config.ts ├── jest.config.js ├── package-lock.json ├── package.json ├── public │ └── index.html ├── src │ ├── App.tsx │ ├── assets │ │ └── styles │ │ │ └── sakura.scss │ ├── index.tsx │ ├── modules │ │ └── courses │ │ │ ├── application │ │ │ ├── create │ │ │ │ └── createCourse.ts │ │ │ ├── get-all │ │ │ │ └── getAllCourses.ts │ │ │ └── get │ │ │ │ └── getCourse.ts │ │ │ ├── domain │ │ │ ├── Course.ts │ │ │ ├── CourseId.ts │ │ │ ├── CourseImageUrl.ts │ │ │ ├── CourseRepository.ts │ │ │ └── CourseTitle.ts │ │ │ └── infrastructure │ │ │ ├── ApiCourseRepository.ts │ │ │ └── LocalStorageCourseRepository.ts │ ├── react-app-env.d.ts │ └── sections │ │ ├── courses │ │ ├── CourseCard.module.scss │ │ ├── CourseCard.tsx │ │ ├── CoursesContext.tsx │ │ ├── CoursesList.module.scss │ │ ├── CoursesList.tsx │ │ ├── CreateCourseForm.tsx │ │ ├── useCourseForm.ts │ │ └── useCourseFormData.ts │ │ └── shared │ │ └── Spinner.tsx ├── tests │ ├── modules │ │ └── courses │ │ │ └── domain │ │ │ └── CourseMother.ts │ ├── sections │ │ └── courses │ │ │ ├── CreateCourseForm.spec.tsx │ │ │ └── CreateCourseFormWithMockedRepository.spec.tsx │ └── setupTests.ts └── tsconfig.json ├── functional-currying ├── .editorconfig ├── .eslintrc.js ├── .github │ └── workflows │ │ ├── lint.yml │ │ └── test.yml ├── .gitignore ├── .stylelintrc.json ├── LICENSE ├── Makefile ├── README.md ├── cypress.config.ts ├── jest.config.js ├── package-lock.json ├── package.json ├── public │ └── index.html ├── src │ ├── App.tsx │ ├── assets │ │ └── styles │ │ │ └── sakura.scss │ ├── index.tsx │ ├── modules │ │ └── courses │ │ │ ├── application │ │ │ ├── create │ │ │ │ └── createCourse.ts │ │ │ ├── get-all │ │ │ │ └── getAllCourses.ts │ │ │ └── get │ │ │ │ └── getCourse.ts │ │ │ ├── domain │ │ │ ├── Course.ts │ │ │ ├── CourseId.ts │ │ │ ├── CourseImageUrl.ts │ │ │ ├── CourseRepository.ts │ │ │ └── CourseTitle.ts │ │ │ └── infrastructure │ │ │ ├── ApiCourseRepository.ts │ │ │ └── LocalStorageCourseRepository.ts │ ├── react-app-env.d.ts │ └── sections │ │ ├── courses │ │ ├── CourseCard.module.scss │ │ ├── CourseCard.tsx │ │ ├── CoursesContext.tsx │ │ ├── CoursesList.module.scss │ │ ├── CoursesList.tsx │ │ ├── CreateCourseForm.tsx │ │ ├── useCourseForm.ts │ │ └── useCourseFormData.ts │ │ └── shared │ │ └── Spinner.tsx ├── tests │ ├── modules │ │ └── courses │ │ │ └── domain │ │ │ └── CourseMother.ts │ ├── sections │ │ └── courses │ │ │ └── CreateCourseForm.spec.tsx │ └── setupTests.ts └── tsconfig.json └── object-oriented ├── .editorconfig ├── .eslintrc.js ├── .github └── workflows │ ├── lint.yml │ └── test.yml ├── .gitignore ├── .stylelintrc.json ├── LICENSE ├── Makefile ├── README.md ├── cypress.config.ts ├── jest.config.js ├── package-lock.json ├── package.json ├── public └── index.html ├── src ├── App.tsx ├── assets │ └── styles │ │ └── sakura.scss ├── index.tsx ├── modules │ ├── courses │ │ ├── application │ │ │ ├── create │ │ │ │ └── CourseCreator.ts │ │ │ ├── get-all │ │ │ │ └── AllCoursesGetter.ts │ │ │ └── get │ │ │ │ └── CourseGetter.ts │ │ ├── domain │ │ │ ├── Course.ts │ │ │ ├── CourseId.ts │ │ │ ├── CourseImageUrl.ts │ │ │ ├── CourseRepository.ts │ │ │ └── CourseTitle.ts │ │ └── infrastructure │ │ │ ├── ApiCourseRepository.ts │ │ │ └── LocalStorageCourseRepository.ts │ └── shared │ │ └── domain │ │ ├── ImageUrl.ts │ │ └── Uuid.ts ├── react-app-env.d.ts └── sections │ ├── courses │ ├── CourseCard.module.scss │ ├── CourseCard.tsx │ ├── CoursesContext.tsx │ ├── CoursesList.module.scss │ ├── CoursesList.tsx │ ├── CreateCourseForm.tsx │ ├── useCourseForm.ts │ └── useCourseFormData.ts │ └── shared │ └── Spinner.tsx ├── tests ├── e2e │ ├── support │ │ ├── commands.ts │ │ └── e2e.ts │ ├── tests │ │ └── home.spec.ts │ └── tsconfig.json ├── sections │ └── courses │ │ ├── CreateCourseForm.spec.tsx │ │ └── CreateCourseFormWithApiRepository.spec.tsx └── setupTests.ts └── tsconfig.json /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/README.md -------------------------------------------------------------------------------- /functional-basic/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/.editorconfig -------------------------------------------------------------------------------- /functional-basic/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/.eslintrc.js -------------------------------------------------------------------------------- /functional-basic/.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/.github/workflows/lint.yml -------------------------------------------------------------------------------- /functional-basic/.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/.github/workflows/test.yml -------------------------------------------------------------------------------- /functional-basic/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/.gitignore -------------------------------------------------------------------------------- /functional-basic/.stylelintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/.stylelintrc.json -------------------------------------------------------------------------------- /functional-basic/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/LICENSE -------------------------------------------------------------------------------- /functional-basic/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/Makefile -------------------------------------------------------------------------------- /functional-basic/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/README.md -------------------------------------------------------------------------------- /functional-basic/cypress.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/cypress.config.ts -------------------------------------------------------------------------------- /functional-basic/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/jest.config.js -------------------------------------------------------------------------------- /functional-basic/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/package-lock.json -------------------------------------------------------------------------------- /functional-basic/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/package.json -------------------------------------------------------------------------------- /functional-basic/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/public/index.html -------------------------------------------------------------------------------- /functional-basic/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/App.tsx -------------------------------------------------------------------------------- /functional-basic/src/assets/styles/sakura.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/assets/styles/sakura.scss -------------------------------------------------------------------------------- /functional-basic/src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/index.tsx -------------------------------------------------------------------------------- /functional-basic/src/modules/courses/application/create/createCourse.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/modules/courses/application/create/createCourse.ts -------------------------------------------------------------------------------- /functional-basic/src/modules/courses/application/get-all/getAllCourses.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/modules/courses/application/get-all/getAllCourses.ts -------------------------------------------------------------------------------- /functional-basic/src/modules/courses/application/get/getCourse.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/modules/courses/application/get/getCourse.ts -------------------------------------------------------------------------------- /functional-basic/src/modules/courses/domain/Course.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/modules/courses/domain/Course.ts -------------------------------------------------------------------------------- /functional-basic/src/modules/courses/domain/CourseId.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/modules/courses/domain/CourseId.ts -------------------------------------------------------------------------------- /functional-basic/src/modules/courses/domain/CourseImageUrl.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/modules/courses/domain/CourseImageUrl.ts -------------------------------------------------------------------------------- /functional-basic/src/modules/courses/domain/CourseRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/modules/courses/domain/CourseRepository.ts -------------------------------------------------------------------------------- /functional-basic/src/modules/courses/domain/CourseTitle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/modules/courses/domain/CourseTitle.ts -------------------------------------------------------------------------------- /functional-basic/src/modules/courses/infrastructure/ApiCourseRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/modules/courses/infrastructure/ApiCourseRepository.ts -------------------------------------------------------------------------------- /functional-basic/src/modules/courses/infrastructure/LocalStorageCourseRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/modules/courses/infrastructure/LocalStorageCourseRepository.ts -------------------------------------------------------------------------------- /functional-basic/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /functional-basic/src/sections/courses/CourseCard.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/sections/courses/CourseCard.module.scss -------------------------------------------------------------------------------- /functional-basic/src/sections/courses/CourseCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/sections/courses/CourseCard.tsx -------------------------------------------------------------------------------- /functional-basic/src/sections/courses/CoursesContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/sections/courses/CoursesContext.tsx -------------------------------------------------------------------------------- /functional-basic/src/sections/courses/CoursesList.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/sections/courses/CoursesList.module.scss -------------------------------------------------------------------------------- /functional-basic/src/sections/courses/CoursesList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/sections/courses/CoursesList.tsx -------------------------------------------------------------------------------- /functional-basic/src/sections/courses/CreateCourseForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/sections/courses/CreateCourseForm.tsx -------------------------------------------------------------------------------- /functional-basic/src/sections/courses/useCourseForm.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/sections/courses/useCourseForm.ts -------------------------------------------------------------------------------- /functional-basic/src/sections/courses/useCourseFormData.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/sections/courses/useCourseFormData.ts -------------------------------------------------------------------------------- /functional-basic/src/sections/shared/Spinner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/src/sections/shared/Spinner.tsx -------------------------------------------------------------------------------- /functional-basic/tests/modules/courses/domain/CourseMother.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/tests/modules/courses/domain/CourseMother.ts -------------------------------------------------------------------------------- /functional-basic/tests/sections/courses/CreateCourseForm.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/tests/sections/courses/CreateCourseForm.spec.tsx -------------------------------------------------------------------------------- /functional-basic/tests/sections/courses/CreateCourseFormWithMockedRepository.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/tests/sections/courses/CreateCourseFormWithMockedRepository.spec.tsx -------------------------------------------------------------------------------- /functional-basic/tests/setupTests.ts: -------------------------------------------------------------------------------- 1 | import "@testing-library/jest-dom"; 2 | -------------------------------------------------------------------------------- /functional-basic/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-basic/tsconfig.json -------------------------------------------------------------------------------- /functional-currying/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/.editorconfig -------------------------------------------------------------------------------- /functional-currying/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/.eslintrc.js -------------------------------------------------------------------------------- /functional-currying/.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/.github/workflows/lint.yml -------------------------------------------------------------------------------- /functional-currying/.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/.github/workflows/test.yml -------------------------------------------------------------------------------- /functional-currying/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/.gitignore -------------------------------------------------------------------------------- /functional-currying/.stylelintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/.stylelintrc.json -------------------------------------------------------------------------------- /functional-currying/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/LICENSE -------------------------------------------------------------------------------- /functional-currying/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/Makefile -------------------------------------------------------------------------------- /functional-currying/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/README.md -------------------------------------------------------------------------------- /functional-currying/cypress.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/cypress.config.ts -------------------------------------------------------------------------------- /functional-currying/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/jest.config.js -------------------------------------------------------------------------------- /functional-currying/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/package-lock.json -------------------------------------------------------------------------------- /functional-currying/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/package.json -------------------------------------------------------------------------------- /functional-currying/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/public/index.html -------------------------------------------------------------------------------- /functional-currying/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/App.tsx -------------------------------------------------------------------------------- /functional-currying/src/assets/styles/sakura.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/assets/styles/sakura.scss -------------------------------------------------------------------------------- /functional-currying/src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/index.tsx -------------------------------------------------------------------------------- /functional-currying/src/modules/courses/application/create/createCourse.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/modules/courses/application/create/createCourse.ts -------------------------------------------------------------------------------- /functional-currying/src/modules/courses/application/get-all/getAllCourses.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/modules/courses/application/get-all/getAllCourses.ts -------------------------------------------------------------------------------- /functional-currying/src/modules/courses/application/get/getCourse.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/modules/courses/application/get/getCourse.ts -------------------------------------------------------------------------------- /functional-currying/src/modules/courses/domain/Course.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/modules/courses/domain/Course.ts -------------------------------------------------------------------------------- /functional-currying/src/modules/courses/domain/CourseId.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/modules/courses/domain/CourseId.ts -------------------------------------------------------------------------------- /functional-currying/src/modules/courses/domain/CourseImageUrl.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/modules/courses/domain/CourseImageUrl.ts -------------------------------------------------------------------------------- /functional-currying/src/modules/courses/domain/CourseRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/modules/courses/domain/CourseRepository.ts -------------------------------------------------------------------------------- /functional-currying/src/modules/courses/domain/CourseTitle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/modules/courses/domain/CourseTitle.ts -------------------------------------------------------------------------------- /functional-currying/src/modules/courses/infrastructure/ApiCourseRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/modules/courses/infrastructure/ApiCourseRepository.ts -------------------------------------------------------------------------------- /functional-currying/src/modules/courses/infrastructure/LocalStorageCourseRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/modules/courses/infrastructure/LocalStorageCourseRepository.ts -------------------------------------------------------------------------------- /functional-currying/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /functional-currying/src/sections/courses/CourseCard.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/sections/courses/CourseCard.module.scss -------------------------------------------------------------------------------- /functional-currying/src/sections/courses/CourseCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/sections/courses/CourseCard.tsx -------------------------------------------------------------------------------- /functional-currying/src/sections/courses/CoursesContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/sections/courses/CoursesContext.tsx -------------------------------------------------------------------------------- /functional-currying/src/sections/courses/CoursesList.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/sections/courses/CoursesList.module.scss -------------------------------------------------------------------------------- /functional-currying/src/sections/courses/CoursesList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/sections/courses/CoursesList.tsx -------------------------------------------------------------------------------- /functional-currying/src/sections/courses/CreateCourseForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/sections/courses/CreateCourseForm.tsx -------------------------------------------------------------------------------- /functional-currying/src/sections/courses/useCourseForm.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/sections/courses/useCourseForm.ts -------------------------------------------------------------------------------- /functional-currying/src/sections/courses/useCourseFormData.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/sections/courses/useCourseFormData.ts -------------------------------------------------------------------------------- /functional-currying/src/sections/shared/Spinner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/src/sections/shared/Spinner.tsx -------------------------------------------------------------------------------- /functional-currying/tests/modules/courses/domain/CourseMother.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/tests/modules/courses/domain/CourseMother.ts -------------------------------------------------------------------------------- /functional-currying/tests/sections/courses/CreateCourseForm.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/tests/sections/courses/CreateCourseForm.spec.tsx -------------------------------------------------------------------------------- /functional-currying/tests/setupTests.ts: -------------------------------------------------------------------------------- 1 | import "@testing-library/jest-dom"; 2 | -------------------------------------------------------------------------------- /functional-currying/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/functional-currying/tsconfig.json -------------------------------------------------------------------------------- /object-oriented/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/.editorconfig -------------------------------------------------------------------------------- /object-oriented/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/.eslintrc.js -------------------------------------------------------------------------------- /object-oriented/.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/.github/workflows/lint.yml -------------------------------------------------------------------------------- /object-oriented/.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/.github/workflows/test.yml -------------------------------------------------------------------------------- /object-oriented/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/.gitignore -------------------------------------------------------------------------------- /object-oriented/.stylelintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/.stylelintrc.json -------------------------------------------------------------------------------- /object-oriented/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/LICENSE -------------------------------------------------------------------------------- /object-oriented/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/Makefile -------------------------------------------------------------------------------- /object-oriented/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/README.md -------------------------------------------------------------------------------- /object-oriented/cypress.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/cypress.config.ts -------------------------------------------------------------------------------- /object-oriented/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/jest.config.js -------------------------------------------------------------------------------- /object-oriented/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/package-lock.json -------------------------------------------------------------------------------- /object-oriented/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/package.json -------------------------------------------------------------------------------- /object-oriented/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/public/index.html -------------------------------------------------------------------------------- /object-oriented/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/App.tsx -------------------------------------------------------------------------------- /object-oriented/src/assets/styles/sakura.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/assets/styles/sakura.scss -------------------------------------------------------------------------------- /object-oriented/src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/index.tsx -------------------------------------------------------------------------------- /object-oriented/src/modules/courses/application/create/CourseCreator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/modules/courses/application/create/CourseCreator.ts -------------------------------------------------------------------------------- /object-oriented/src/modules/courses/application/get-all/AllCoursesGetter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/modules/courses/application/get-all/AllCoursesGetter.ts -------------------------------------------------------------------------------- /object-oriented/src/modules/courses/application/get/CourseGetter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/modules/courses/application/get/CourseGetter.ts -------------------------------------------------------------------------------- /object-oriented/src/modules/courses/domain/Course.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/modules/courses/domain/Course.ts -------------------------------------------------------------------------------- /object-oriented/src/modules/courses/domain/CourseId.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/modules/courses/domain/CourseId.ts -------------------------------------------------------------------------------- /object-oriented/src/modules/courses/domain/CourseImageUrl.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/modules/courses/domain/CourseImageUrl.ts -------------------------------------------------------------------------------- /object-oriented/src/modules/courses/domain/CourseRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/modules/courses/domain/CourseRepository.ts -------------------------------------------------------------------------------- /object-oriented/src/modules/courses/domain/CourseTitle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/modules/courses/domain/CourseTitle.ts -------------------------------------------------------------------------------- /object-oriented/src/modules/courses/infrastructure/ApiCourseRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/modules/courses/infrastructure/ApiCourseRepository.ts -------------------------------------------------------------------------------- /object-oriented/src/modules/courses/infrastructure/LocalStorageCourseRepository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/modules/courses/infrastructure/LocalStorageCourseRepository.ts -------------------------------------------------------------------------------- /object-oriented/src/modules/shared/domain/ImageUrl.ts: -------------------------------------------------------------------------------- 1 | export class ImageUrl { 2 | constructor(public readonly value: string) {} 3 | } 4 | -------------------------------------------------------------------------------- /object-oriented/src/modules/shared/domain/Uuid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/modules/shared/domain/Uuid.ts -------------------------------------------------------------------------------- /object-oriented/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /object-oriented/src/sections/courses/CourseCard.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/sections/courses/CourseCard.module.scss -------------------------------------------------------------------------------- /object-oriented/src/sections/courses/CourseCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/sections/courses/CourseCard.tsx -------------------------------------------------------------------------------- /object-oriented/src/sections/courses/CoursesContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/sections/courses/CoursesContext.tsx -------------------------------------------------------------------------------- /object-oriented/src/sections/courses/CoursesList.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/sections/courses/CoursesList.module.scss -------------------------------------------------------------------------------- /object-oriented/src/sections/courses/CoursesList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/sections/courses/CoursesList.tsx -------------------------------------------------------------------------------- /object-oriented/src/sections/courses/CreateCourseForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/sections/courses/CreateCourseForm.tsx -------------------------------------------------------------------------------- /object-oriented/src/sections/courses/useCourseForm.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/sections/courses/useCourseForm.ts -------------------------------------------------------------------------------- /object-oriented/src/sections/courses/useCourseFormData.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/sections/courses/useCourseFormData.ts -------------------------------------------------------------------------------- /object-oriented/src/sections/shared/Spinner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/src/sections/shared/Spinner.tsx -------------------------------------------------------------------------------- /object-oriented/tests/e2e/support/commands.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/tests/e2e/support/commands.ts -------------------------------------------------------------------------------- /object-oriented/tests/e2e/support/e2e.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/tests/e2e/support/e2e.ts -------------------------------------------------------------------------------- /object-oriented/tests/e2e/tests/home.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/tests/e2e/tests/home.spec.ts -------------------------------------------------------------------------------- /object-oriented/tests/e2e/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/tests/e2e/tsconfig.json -------------------------------------------------------------------------------- /object-oriented/tests/sections/courses/CreateCourseForm.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/tests/sections/courses/CreateCourseForm.spec.tsx -------------------------------------------------------------------------------- /object-oriented/tests/sections/courses/CreateCourseFormWithApiRepository.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/tests/sections/courses/CreateCourseFormWithApiRepository.spec.tsx -------------------------------------------------------------------------------- /object-oriented/tests/setupTests.ts: -------------------------------------------------------------------------------- 1 | import "@testing-library/jest-dom"; 2 | -------------------------------------------------------------------------------- /object-oriented/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodelyTV/frontend-hexagonal_architecture-example/HEAD/object-oriented/tsconfig.json --------------------------------------------------------------------------------