├── 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
--------------------------------------------------------------------------------