├── .codeclimate.yml ├── .dockerignore ├── .env ├── .github └── workflows │ ├── build-publish.yml │ └── evaluate-pr.yml ├── .gitignore ├── Dockerfile ├── README.md ├── __tests__ ├── integration │ ├── domain │ │ └── MessageDao.spec.test.js │ ├── infra │ │ └── Http.spec.test.js │ ├── pages │ │ └── api │ │ │ ├── health.spec.test.js │ │ │ └── page-details.spec.test.js │ └── services │ │ ├── PageDetailsService.spec.test.js │ │ └── TVMazeService.spec.test.js ├── support │ ├── MockServerUtils.js │ └── mocks │ │ └── http │ │ ├── GET--k-1=value-1&k-2=value-2.mock │ │ ├── GET.mock │ │ ├── GET_Authorization=Bearer Jafar--qs-1=value&qs-2=another-value.mock │ │ ├── POST.mock │ │ └── POST_Authorization=Bearer Jafar.mock └── unit │ ├── business │ └── MessageParser.spec.test.js │ ├── components │ └── Header.spec.test.js │ ├── domain │ └── Message.spec.test.js │ └── redux │ ├── actions │ └── challengeActions.spec.test.js │ └── reducers │ └── challengeReducer.spec.test.js ├── babel.config.js ├── docker-compose.yml ├── jest.config.js ├── package.json └── src ├── business └── MessageParser.js ├── components ├── Header.js ├── StandardLayout.js └── challenge │ └── ListOfMessages.js ├── domain ├── Message.js └── MessageDao.js ├── infra ├── ConnectionFactory.js ├── Http.js ├── Polyfill.js ├── Utils.js └── logger.js ├── next.config.js ├── pages ├── _app.js ├── api │ ├── health.js │ └── page-details.js ├── batman │ ├── details │ │ └── [id].js │ └── index.js └── index.js ├── redux ├── actions │ └── challengeActions.js ├── reducers │ ├── challengeReducer.js │ └── index.js └── store │ └── createStore.js └── services ├── PageDetailsService.js └── TVMazeService.js /.codeclimate.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/.codeclimate.yml -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/.dockerignore -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/.env -------------------------------------------------------------------------------- /.github/workflows/build-publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/.github/workflows/build-publish.yml -------------------------------------------------------------------------------- /.github/workflows/evaluate-pr.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/.github/workflows/evaluate-pr.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/Dockerfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/README.md -------------------------------------------------------------------------------- /__tests__/integration/domain/MessageDao.spec.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/integration/domain/MessageDao.spec.test.js -------------------------------------------------------------------------------- /__tests__/integration/infra/Http.spec.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/integration/infra/Http.spec.test.js -------------------------------------------------------------------------------- /__tests__/integration/pages/api/health.spec.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/integration/pages/api/health.spec.test.js -------------------------------------------------------------------------------- /__tests__/integration/pages/api/page-details.spec.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/integration/pages/api/page-details.spec.test.js -------------------------------------------------------------------------------- /__tests__/integration/services/PageDetailsService.spec.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/integration/services/PageDetailsService.spec.test.js -------------------------------------------------------------------------------- /__tests__/integration/services/TVMazeService.spec.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/integration/services/TVMazeService.spec.test.js -------------------------------------------------------------------------------- /__tests__/support/MockServerUtils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/support/MockServerUtils.js -------------------------------------------------------------------------------- /__tests__/support/mocks/http/GET--k-1=value-1&k-2=value-2.mock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/support/mocks/http/GET--k-1=value-1&k-2=value-2.mock -------------------------------------------------------------------------------- /__tests__/support/mocks/http/GET.mock: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Content-Type: application/json; charset=utf-8 3 | 4 | { 5 | "key": 1 6 | } 7 | -------------------------------------------------------------------------------- /__tests__/support/mocks/http/GET_Authorization=Bearer Jafar--qs-1=value&qs-2=another-value.mock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/support/mocks/http/GET_Authorization=Bearer Jafar--qs-1=value&qs-2=another-value.mock -------------------------------------------------------------------------------- /__tests__/support/mocks/http/POST.mock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/support/mocks/http/POST.mock -------------------------------------------------------------------------------- /__tests__/support/mocks/http/POST_Authorization=Bearer Jafar.mock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/support/mocks/http/POST_Authorization=Bearer Jafar.mock -------------------------------------------------------------------------------- /__tests__/unit/business/MessageParser.spec.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/unit/business/MessageParser.spec.test.js -------------------------------------------------------------------------------- /__tests__/unit/components/Header.spec.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/unit/components/Header.spec.test.js -------------------------------------------------------------------------------- /__tests__/unit/domain/Message.spec.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/unit/domain/Message.spec.test.js -------------------------------------------------------------------------------- /__tests__/unit/redux/actions/challengeActions.spec.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/unit/redux/actions/challengeActions.spec.test.js -------------------------------------------------------------------------------- /__tests__/unit/redux/reducers/challengeReducer.spec.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/__tests__/unit/redux/reducers/challengeReducer.spec.test.js -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['next/babel'], 3 | } 4 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/jest.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/package.json -------------------------------------------------------------------------------- /src/business/MessageParser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/business/MessageParser.js -------------------------------------------------------------------------------- /src/components/Header.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/components/Header.js -------------------------------------------------------------------------------- /src/components/StandardLayout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/components/StandardLayout.js -------------------------------------------------------------------------------- /src/components/challenge/ListOfMessages.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/components/challenge/ListOfMessages.js -------------------------------------------------------------------------------- /src/domain/Message.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/domain/Message.js -------------------------------------------------------------------------------- /src/domain/MessageDao.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/domain/MessageDao.js -------------------------------------------------------------------------------- /src/infra/ConnectionFactory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/infra/ConnectionFactory.js -------------------------------------------------------------------------------- /src/infra/Http.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/infra/Http.js -------------------------------------------------------------------------------- /src/infra/Polyfill.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/infra/Polyfill.js -------------------------------------------------------------------------------- /src/infra/Utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/infra/Utils.js -------------------------------------------------------------------------------- /src/infra/logger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/infra/logger.js -------------------------------------------------------------------------------- /src/next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/next.config.js -------------------------------------------------------------------------------- /src/pages/_app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/pages/_app.js -------------------------------------------------------------------------------- /src/pages/api/health.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/pages/api/health.js -------------------------------------------------------------------------------- /src/pages/api/page-details.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/pages/api/page-details.js -------------------------------------------------------------------------------- /src/pages/batman/details/[id].js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/pages/batman/details/[id].js -------------------------------------------------------------------------------- /src/pages/batman/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/pages/batman/index.js -------------------------------------------------------------------------------- /src/pages/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/pages/index.js -------------------------------------------------------------------------------- /src/redux/actions/challengeActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/redux/actions/challengeActions.js -------------------------------------------------------------------------------- /src/redux/reducers/challengeReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/redux/reducers/challengeReducer.js -------------------------------------------------------------------------------- /src/redux/reducers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/redux/reducers/index.js -------------------------------------------------------------------------------- /src/redux/store/createStore.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/redux/store/createStore.js -------------------------------------------------------------------------------- /src/services/PageDetailsService.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/services/PageDetailsService.js -------------------------------------------------------------------------------- /src/services/TVMazeService.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willianantunes/nextjs-playground/HEAD/src/services/TVMazeService.js --------------------------------------------------------------------------------