├── .firebaserc ├── .github ├── ISSUE_TEMPLATE │ └── bug_report_ko.md ├── dependabot.yml └── workflows │ └── test.yaml ├── .gitignore ├── .idea ├── .gitignore └── vcs.xml ├── .vscode └── settings.json ├── README.md ├── firebase.json ├── firestore.indexes.json ├── firestore.rules ├── functions ├── .eslintrc.json ├── .gitignore ├── .vscode │ ├── launch.json │ └── tasks.json ├── mocks │ └── http │ │ ├── jest.mockFetch.js │ │ └── sites │ │ ├── schoolinfo.go.kr │ │ ├── details.html │ │ └── keywords │ │ │ └── 서울.html │ │ └── stu.go.kr │ │ ├── cne_N100000191_2021_12.html │ │ ├── dje_G100000170_2022_03.html │ │ ├── kwe_K100000460_2020_01.html │ │ └── sen_B100002365_2019_05.html ├── package-common │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── error │ │ │ ├── BadRequestError.ts │ │ │ ├── ErrorWithStatusCode.ts │ │ │ ├── InternalServerError.ts │ │ │ └── InvalidResponseBodyError.ts │ │ ├── index.ts │ │ ├── type │ │ │ ├── Crawler.ts │ │ │ ├── DataAccessor.ts │ │ │ └── SchoolType.ts │ │ └── util │ │ │ ├── ErrorResponseBody.ts │ │ │ ├── JsonResponseBody.ts │ │ │ └── requestLogger.ts │ ├── test │ │ └── test.ts │ └── tsconfig.json ├── package-function │ ├── build.js │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── index.local.ts │ │ └── index.ts │ ├── test │ │ ├── server.ts │ │ └── test.ts │ └── tsconfig.json ├── package-lock.json ├── package-school-info │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── data │ │ │ ├── NeisCrawler.ts │ │ │ └── SchoolInfoDataAccessor.ts │ │ ├── index.ts │ │ ├── service │ │ │ └── SchoolInfoService.ts │ │ └── type │ │ │ └── SchoolInfo.ts │ ├── static │ │ ├── favicon.png │ │ └── index.css │ ├── test │ │ └── test.ts │ ├── tsconfig.json │ └── view │ │ └── index.html ├── package-school-menu │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── data │ │ │ ├── MenuDataAccessor.ts │ │ │ └── NeisCrawler.ts │ │ ├── index.ts │ │ ├── middleware │ │ │ ├── schemaValidator.ts │ │ │ └── service.ts │ │ ├── model │ │ │ └── requestGetMenuQuerySchema.ts │ │ ├── service │ │ │ ├── SchoolMenuService.ts │ │ │ ├── applyAllergyOption.ts │ │ │ └── applyDateOption.ts │ │ └── type │ │ │ ├── AllergyDisplayType.ts │ │ │ ├── SchoolMenu.ts │ │ │ └── parameter.ts │ ├── test │ │ └── test.ts │ ├── tsconfig.json │ └── yarn.lock ├── package.json └── tsconfig.packages.json └── public ├── 404.html └── index.html /.firebaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/.firebaserc -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report_ko.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/.github/ISSUE_TEMPLATE/bug_report_ko.md -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/.github/workflows/test.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/.idea/.gitignore -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/README.md -------------------------------------------------------------------------------- /firebase.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/firebase.json -------------------------------------------------------------------------------- /firestore.indexes.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/firestore.indexes.json -------------------------------------------------------------------------------- /firestore.rules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/firestore.rules -------------------------------------------------------------------------------- /functions/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/.eslintrc.json -------------------------------------------------------------------------------- /functions/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/.gitignore -------------------------------------------------------------------------------- /functions/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/.vscode/launch.json -------------------------------------------------------------------------------- /functions/.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/.vscode/tasks.json -------------------------------------------------------------------------------- /functions/mocks/http/jest.mockFetch.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/mocks/http/jest.mockFetch.js -------------------------------------------------------------------------------- /functions/mocks/http/sites/schoolinfo.go.kr/details.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/mocks/http/sites/schoolinfo.go.kr/details.html -------------------------------------------------------------------------------- /functions/mocks/http/sites/schoolinfo.go.kr/keywords/서울.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/mocks/http/sites/schoolinfo.go.kr/keywords/서울.html -------------------------------------------------------------------------------- /functions/mocks/http/sites/stu.go.kr/cne_N100000191_2021_12.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/mocks/http/sites/stu.go.kr/cne_N100000191_2021_12.html -------------------------------------------------------------------------------- /functions/mocks/http/sites/stu.go.kr/dje_G100000170_2022_03.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/mocks/http/sites/stu.go.kr/dje_G100000170_2022_03.html -------------------------------------------------------------------------------- /functions/mocks/http/sites/stu.go.kr/kwe_K100000460_2020_01.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/mocks/http/sites/stu.go.kr/kwe_K100000460_2020_01.html -------------------------------------------------------------------------------- /functions/mocks/http/sites/stu.go.kr/sen_B100002365_2019_05.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/mocks/http/sites/stu.go.kr/sen_B100002365_2019_05.html -------------------------------------------------------------------------------- /functions/package-common/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/jest.config.js -------------------------------------------------------------------------------- /functions/package-common/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/package.json -------------------------------------------------------------------------------- /functions/package-common/src/error/BadRequestError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/src/error/BadRequestError.ts -------------------------------------------------------------------------------- /functions/package-common/src/error/ErrorWithStatusCode.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/src/error/ErrorWithStatusCode.ts -------------------------------------------------------------------------------- /functions/package-common/src/error/InternalServerError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/src/error/InternalServerError.ts -------------------------------------------------------------------------------- /functions/package-common/src/error/InvalidResponseBodyError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/src/error/InvalidResponseBodyError.ts -------------------------------------------------------------------------------- /functions/package-common/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/src/index.ts -------------------------------------------------------------------------------- /functions/package-common/src/type/Crawler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/src/type/Crawler.ts -------------------------------------------------------------------------------- /functions/package-common/src/type/DataAccessor.ts: -------------------------------------------------------------------------------- 1 | export interface DataAccessor { 2 | } 3 | -------------------------------------------------------------------------------- /functions/package-common/src/type/SchoolType.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/src/type/SchoolType.ts -------------------------------------------------------------------------------- /functions/package-common/src/util/ErrorResponseBody.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/src/util/ErrorResponseBody.ts -------------------------------------------------------------------------------- /functions/package-common/src/util/JsonResponseBody.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/src/util/JsonResponseBody.ts -------------------------------------------------------------------------------- /functions/package-common/src/util/requestLogger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/src/util/requestLogger.ts -------------------------------------------------------------------------------- /functions/package-common/test/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/test/test.ts -------------------------------------------------------------------------------- /functions/package-common/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-common/tsconfig.json -------------------------------------------------------------------------------- /functions/package-function/build.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-function/build.js -------------------------------------------------------------------------------- /functions/package-function/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-function/jest.config.js -------------------------------------------------------------------------------- /functions/package-function/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-function/package.json -------------------------------------------------------------------------------- /functions/package-function/src/index.local.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-function/src/index.local.ts -------------------------------------------------------------------------------- /functions/package-function/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-function/src/index.ts -------------------------------------------------------------------------------- /functions/package-function/test/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-function/test/server.ts -------------------------------------------------------------------------------- /functions/package-function/test/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-function/test/test.ts -------------------------------------------------------------------------------- /functions/package-function/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-function/tsconfig.json -------------------------------------------------------------------------------- /functions/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-lock.json -------------------------------------------------------------------------------- /functions/package-school-info/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-info/jest.config.js -------------------------------------------------------------------------------- /functions/package-school-info/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-info/package.json -------------------------------------------------------------------------------- /functions/package-school-info/src/data/NeisCrawler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-info/src/data/NeisCrawler.ts -------------------------------------------------------------------------------- /functions/package-school-info/src/data/SchoolInfoDataAccessor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-info/src/data/SchoolInfoDataAccessor.ts -------------------------------------------------------------------------------- /functions/package-school-info/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-info/src/index.ts -------------------------------------------------------------------------------- /functions/package-school-info/src/service/SchoolInfoService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-info/src/service/SchoolInfoService.ts -------------------------------------------------------------------------------- /functions/package-school-info/src/type/SchoolInfo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-info/src/type/SchoolInfo.ts -------------------------------------------------------------------------------- /functions/package-school-info/static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-info/static/favicon.png -------------------------------------------------------------------------------- /functions/package-school-info/static/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-info/static/index.css -------------------------------------------------------------------------------- /functions/package-school-info/test/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-info/test/test.ts -------------------------------------------------------------------------------- /functions/package-school-info/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-info/tsconfig.json -------------------------------------------------------------------------------- /functions/package-school-info/view/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-info/view/index.html -------------------------------------------------------------------------------- /functions/package-school-menu/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/jest.config.js -------------------------------------------------------------------------------- /functions/package-school-menu/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/package.json -------------------------------------------------------------------------------- /functions/package-school-menu/src/data/MenuDataAccessor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/src/data/MenuDataAccessor.ts -------------------------------------------------------------------------------- /functions/package-school-menu/src/data/NeisCrawler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/src/data/NeisCrawler.ts -------------------------------------------------------------------------------- /functions/package-school-menu/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/src/index.ts -------------------------------------------------------------------------------- /functions/package-school-menu/src/middleware/schemaValidator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/src/middleware/schemaValidator.ts -------------------------------------------------------------------------------- /functions/package-school-menu/src/middleware/service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/src/middleware/service.ts -------------------------------------------------------------------------------- /functions/package-school-menu/src/model/requestGetMenuQuerySchema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/src/model/requestGetMenuQuerySchema.ts -------------------------------------------------------------------------------- /functions/package-school-menu/src/service/SchoolMenuService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/src/service/SchoolMenuService.ts -------------------------------------------------------------------------------- /functions/package-school-menu/src/service/applyAllergyOption.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/src/service/applyAllergyOption.ts -------------------------------------------------------------------------------- /functions/package-school-menu/src/service/applyDateOption.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/src/service/applyDateOption.ts -------------------------------------------------------------------------------- /functions/package-school-menu/src/type/AllergyDisplayType.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/src/type/AllergyDisplayType.ts -------------------------------------------------------------------------------- /functions/package-school-menu/src/type/SchoolMenu.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/src/type/SchoolMenu.ts -------------------------------------------------------------------------------- /functions/package-school-menu/src/type/parameter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/src/type/parameter.ts -------------------------------------------------------------------------------- /functions/package-school-menu/test/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/test/test.ts -------------------------------------------------------------------------------- /functions/package-school-menu/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/tsconfig.json -------------------------------------------------------------------------------- /functions/package-school-menu/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package-school-menu/yarn.lock -------------------------------------------------------------------------------- /functions/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/package.json -------------------------------------------------------------------------------- /functions/tsconfig.packages.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/functions/tsconfig.packages.json -------------------------------------------------------------------------------- /public/404.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/public/404.html -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/5d-jh/school-menu-api/HEAD/public/index.html --------------------------------------------------------------------------------