├── .github └── workflows │ └── k8-deploy.yml ├── .gitignore ├── License ├── README.md ├── backend.Dockerfile ├── backend ├── .gitignore ├── build.sh ├── main.py ├── requirements.txt ├── tests │ └── test_api.py ├── tutorials.csv └── utils │ ├── __init__.py │ ├── elasticsearch.py │ └── filters.py ├── dev-startup.sh ├── docker-compose.yml ├── docs ├── 1-Understanding-all-significant-components-in-ElasticSearch-and-its-Auto-completion-feature.md ├── 2-Building-an-API-service-that-interacts-with-ElasticSearch-to-be-used-by-the-UI.md ├── 3-Testing-API-using-Pytest.md ├── 4-Building-UI-using-React-and-Redux.md └── 5-Testing-UI-using-Cypress.md ├── frontend.Dockerfile ├── frontend ├── .env.dev ├── .env.prod ├── .gitignore ├── build.sh ├── cypress.json ├── cypress │ ├── fixtures │ │ └── example.json │ ├── integration │ │ └── search-courses.spec.js │ ├── plugins │ │ └── index.js │ └── support │ │ ├── commands.js │ │ └── index.js ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ └── robots.txt ├── server.js ├── src │ ├── App.js │ ├── components │ │ ├── Nav.js │ │ ├── ResponsiveAntMenu.js │ │ ├── SearchBar.js │ │ └── SearchResults.js │ ├── index.js │ └── redux │ │ ├── actionTypes.js │ │ ├── actions.js │ │ ├── reducers │ │ ├── index.js │ │ └── searchReducer.js │ │ └── store.js └── yarn.lock ├── helm ├── Chart.yaml ├── templates │ ├── elasticsearch │ │ ├── service.yaml │ │ └── statefulset.yaml │ ├── search-backend │ │ ├── deployment.yaml │ │ ├── ingress.yaml │ │ └── service.yaml │ └── search-frontend │ │ ├── deployment.yaml │ │ ├── ingress.yaml │ │ └── service.yaml └── values.yaml └── sonar-project.properties /.github/workflows/k8-deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/.github/workflows/k8-deploy.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/.gitignore -------------------------------------------------------------------------------- /License: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/License -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/README.md -------------------------------------------------------------------------------- /backend.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/backend.Dockerfile -------------------------------------------------------------------------------- /backend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/backend/.gitignore -------------------------------------------------------------------------------- /backend/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/backend/build.sh -------------------------------------------------------------------------------- /backend/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/backend/main.py -------------------------------------------------------------------------------- /backend/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/backend/requirements.txt -------------------------------------------------------------------------------- /backend/tests/test_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/backend/tests/test_api.py -------------------------------------------------------------------------------- /backend/tutorials.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/backend/tutorials.csv -------------------------------------------------------------------------------- /backend/utils/__init__.py: -------------------------------------------------------------------------------- 1 | """ Utilities """ -------------------------------------------------------------------------------- /backend/utils/elasticsearch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/backend/utils/elasticsearch.py -------------------------------------------------------------------------------- /backend/utils/filters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/backend/utils/filters.py -------------------------------------------------------------------------------- /dev-startup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/dev-startup.sh -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docs/1-Understanding-all-significant-components-in-ElasticSearch-and-its-Auto-completion-feature.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/docs/1-Understanding-all-significant-components-in-ElasticSearch-and-its-Auto-completion-feature.md -------------------------------------------------------------------------------- /docs/2-Building-an-API-service-that-interacts-with-ElasticSearch-to-be-used-by-the-UI.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/docs/2-Building-an-API-service-that-interacts-with-ElasticSearch-to-be-used-by-the-UI.md -------------------------------------------------------------------------------- /docs/3-Testing-API-using-Pytest.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/docs/3-Testing-API-using-Pytest.md -------------------------------------------------------------------------------- /docs/4-Building-UI-using-React-and-Redux.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/docs/4-Building-UI-using-React-and-Redux.md -------------------------------------------------------------------------------- /docs/5-Testing-UI-using-Cypress.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/docs/5-Testing-UI-using-Cypress.md -------------------------------------------------------------------------------- /frontend.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend.Dockerfile -------------------------------------------------------------------------------- /frontend/.env.dev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/.env.dev -------------------------------------------------------------------------------- /frontend/.env.prod: -------------------------------------------------------------------------------- 1 | REACT_APP_API_ENDPOINT = "https://api-search.dineshsonachalam.com" -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/.gitignore -------------------------------------------------------------------------------- /frontend/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/build.sh -------------------------------------------------------------------------------- /frontend/cypress.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /frontend/cypress/fixtures/example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/cypress/fixtures/example.json -------------------------------------------------------------------------------- /frontend/cypress/integration/search-courses.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/cypress/integration/search-courses.spec.js -------------------------------------------------------------------------------- /frontend/cypress/plugins/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/cypress/plugins/index.js -------------------------------------------------------------------------------- /frontend/cypress/support/commands.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/cypress/support/commands.js -------------------------------------------------------------------------------- /frontend/cypress/support/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/cypress/support/index.js -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/public/favicon.ico -------------------------------------------------------------------------------- /frontend/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/public/index.html -------------------------------------------------------------------------------- /frontend/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/public/robots.txt -------------------------------------------------------------------------------- /frontend/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/server.js -------------------------------------------------------------------------------- /frontend/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/src/App.js -------------------------------------------------------------------------------- /frontend/src/components/Nav.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/src/components/Nav.js -------------------------------------------------------------------------------- /frontend/src/components/ResponsiveAntMenu.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/src/components/ResponsiveAntMenu.js -------------------------------------------------------------------------------- /frontend/src/components/SearchBar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/src/components/SearchBar.js -------------------------------------------------------------------------------- /frontend/src/components/SearchResults.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/src/components/SearchResults.js -------------------------------------------------------------------------------- /frontend/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/src/index.js -------------------------------------------------------------------------------- /frontend/src/redux/actionTypes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/src/redux/actionTypes.js -------------------------------------------------------------------------------- /frontend/src/redux/actions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/src/redux/actions.js -------------------------------------------------------------------------------- /frontend/src/redux/reducers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/src/redux/reducers/index.js -------------------------------------------------------------------------------- /frontend/src/redux/reducers/searchReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/src/redux/reducers/searchReducer.js -------------------------------------------------------------------------------- /frontend/src/redux/store.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/src/redux/store.js -------------------------------------------------------------------------------- /frontend/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/frontend/yarn.lock -------------------------------------------------------------------------------- /helm/Chart.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/helm/Chart.yaml -------------------------------------------------------------------------------- /helm/templates/elasticsearch/service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/helm/templates/elasticsearch/service.yaml -------------------------------------------------------------------------------- /helm/templates/elasticsearch/statefulset.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/helm/templates/elasticsearch/statefulset.yaml -------------------------------------------------------------------------------- /helm/templates/search-backend/deployment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/helm/templates/search-backend/deployment.yaml -------------------------------------------------------------------------------- /helm/templates/search-backend/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/helm/templates/search-backend/ingress.yaml -------------------------------------------------------------------------------- /helm/templates/search-backend/service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/helm/templates/search-backend/service.yaml -------------------------------------------------------------------------------- /helm/templates/search-frontend/deployment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/helm/templates/search-frontend/deployment.yaml -------------------------------------------------------------------------------- /helm/templates/search-frontend/ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/helm/templates/search-frontend/ingress.yaml -------------------------------------------------------------------------------- /helm/templates/search-frontend/service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/helm/templates/search-frontend/service.yaml -------------------------------------------------------------------------------- /helm/values.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/helm/values.yaml -------------------------------------------------------------------------------- /sonar-project.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dineshsonachalam/tech-courses-search-engine/HEAD/sonar-project.properties --------------------------------------------------------------------------------