{"id":17858556,"url":"https://github.com/asadhasan/express-mongo-kubernetes","last_synced_at":"2026-04-10T14:38:00.438Z","repository":{"id":36958274,"uuid":"405160769","full_name":"AsadHasan/express-mongo-kubernetes","owner":"AsadHasan","description":"Basic Express service with MongoDB, deployed on Kubernetes.","archived":false,"fork":false,"pushed_at":"2024-11-01T08:13:03.000Z","size":1894,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-08T09:46:24.519Z","etag":null,"topics":["axios","buildpack","codeql","dependabot","docker-compose","eslint","express","github-actions","helm","kubernetes","minikube","mongodb","mongoose","multistage-docker","nodejs","npm","okteto","ts-jest","tsc","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AsadHasan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-10T17:25:09.000Z","updated_at":"2024-08-02T09:01:40.000Z","dependencies_parsed_at":"2023-12-04T10:24:49.445Z","dependency_job_id":"b912a214-7e11-4ced-b8f2-c6ea4989a9b6","html_url":"https://github.com/AsadHasan/express-mongo-kubernetes","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsadHasan%2Fexpress-mongo-kubernetes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsadHasan%2Fexpress-mongo-kubernetes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsadHasan%2Fexpress-mongo-kubernetes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsadHasan%2Fexpress-mongo-kubernetes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AsadHasan","download_url":"https://codeload.github.com/AsadHasan/express-mongo-kubernetes/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246875909,"owners_count":20848049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axios","buildpack","codeql","dependabot","docker-compose","eslint","express","github-actions","helm","kubernetes","minikube","mongodb","mongoose","multistage-docker","nodejs","npm","okteto","ts-jest","tsc","typescript"],"created_at":"2024-10-28T05:22:09.588Z","updated_at":"2025-12-30T19:20:45.346Z","avatar_url":"https://github.com/AsadHasan.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Express Mongo Service\n\nA basic API, built using [Express](https://expressjs.com/) server and [MongoDB](https://www.mongodb.com/) database (with [Mongoose](https://mongoosejs.com/) ORM), bootstrapped using [Google Typescript Style-guide](https://github.com/google/gts). It contains following endpoints:\n\n1. `GET /testcases`: Returns list of existing test cases.\n2. `POST /test-case`: Creates a test case, based on following request body:\n\n```\n{\n    \"name\": string,\n    \"summary\": string,\n    \"description\": string\n}\n```\n\n## To deploy and run\n\nUse either of following 2 options:\n\n1. [`Docker-compose`](https://docs.docker.com/compose/) (for local dev): Run `docker-compose run --rm express` (requires `docker-compose`)\n2. [`Kubernetes`](https://kubernetes.io/) (Requires [`Helm`](https://helm.sh) and an available Kubernetes cluster):\n   1. Package a Helm chart: `helm package helm/ -d charts/` (creates chart in new `./charts` directory)\n   2. Install the Helm chart: `helm install express-mongo-release charts/express-mongo-0.0.1.tgz` (creates Helm release `express-mongo-release` on available cluster. Caveat: Have tested this _only_ on [`minikube`](https://minikube.sigs.k8s.io/docs/) locally, _not_ on _any_ cloud (AWS, GCP etc) cluster!)\n\n## Testing\n\nBasic end-to-end tests exist in `tests` folder, that can be run via the `npm run e2e-tests` script (requires `docker-compose`). Tests call the API via [`Axios`](https://axios-http.com/) and run via [`ts-jest`](https://github.com/kulshekhar/ts-jest).\n\n## CI\n\nDocker image and Helm chart being published via [GitHub Actions](https://github.com/actions).\n\n## Issues\n\n`Helm` chart has been created (via [Kompose](https://kompose.io/)). It can be packaged and installed on `Kubernetes`, however Mongo does not store data in a persistent volume or similar.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasadhasan%2Fexpress-mongo-kubernetes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasadhasan%2Fexpress-mongo-kubernetes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasadhasan%2Fexpress-mongo-kubernetes/lists"}