{"id":21418448,"url":"https://github.com/bsovs/ecse437","last_synced_at":"2025-09-14T16:47:45.753Z","repository":{"id":64279853,"uuid":"572180633","full_name":"bsovs/ecse437","owner":"bsovs","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-06T20:54:53.000Z","size":365,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-13T09:02:38.505Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bsovs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-11-29T18:12:16.000Z","updated_at":"2022-11-29T18:34:10.000Z","dependencies_parsed_at":"2023-01-15T08:00:45.018Z","dependency_job_id":null,"html_url":"https://github.com/bsovs/ecse437","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsovs%2Fecse437","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsovs%2Fecse437/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsovs%2Fecse437/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bsovs%2Fecse437/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bsovs","download_url":"https://codeload.github.com/bsovs/ecse437/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243918641,"owners_count":20368745,"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":[],"created_at":"2024-11-22T19:21:30.770Z","updated_at":"2025-03-16T19:24:40.042Z","avatar_url":"https://github.com/bsovs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Moleculer](https://badgen.net/badge/Powered%20by/Moleculer/0e83cd)](https://moleculer.services)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9b581afa2baf44e1b31b6971d3676623)](https://www.codacy.com/gh/bsovs/ecse437/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=bsovs/ecse437\u0026amp;utm_campaign=Badge_Grade)\n\n\n# Features\n\n- unit and integration tests to test the features of the code\n- husky git hooks to run static analysis before code is even committed, reducing errors before they are run in the cloud\n- eslint code format linting (static analysis) for code quality, and common javascript errors\n- github workflows to run CI/CD on push, pull-request, and merge on main\n\n## NPM scripts\n\n- `npm run build`: Build the services as a Docker container for production\n- `npm run dev`: Start development mode (load all services locally with hot-reload \u0026 REPL)\n- `npm run start`: Start production mode (set `SERVICES` env variable to load certain services)\n- `npm run lint`: Run ESLint\n- `npm run ci`: Run continuous test mode with watching\n- `npm test`: Run tests \u0026 generate coverage report\n- `npm run integration`: Run integration tests\n- `npm run dc:up`: Start the stack with Docker Compose\n- `npm run dc:down`: Stop the stack with Docker Compose\n\n# About this Project\n## moleculer-demo\nThis is a [Moleculer](https://moleculer.services/)-based microservices project. Generated with the [Moleculer CLI](https://moleculer.services/docs/0.14/moleculer-cli.html).\n\n### Usage\nStart the project with `npm run dev` command. \nAfter starting, open the http://localhost:3000/ URL in your browser. \nOn the welcome page you can test the generated services via API Gateway and check the nodes \u0026 services.\n\nIn the terminal, try the following commands:\n- `nodes` - List all connected nodes.\n- `actions` - List all registered service actions.\n- `call greeter.hello` - Call the `greeter.hello` action.\n- `call greeter.welcome --name John` - Call the `greeter.welcome` action with the `name` parameter.\n- `call products.list` - List the products (call the `products.list` action).\n\n### Services\n- **api**: API Gateway services\n- **greeter**: Sample service with `hello` and `welcome` actions.\n- **products**: Sample DB service. To use with MongoDB, set `MONGO_URI` environment variables and install MongoDB adapter with `npm i moleculer-db-adapter-mongo`.\n- **db.mixin**: Database access mixin for services. Based on [moleculer-db](https://github.com/moleculerjs/moleculer-db#readme)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbsovs%2Fecse437","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbsovs%2Fecse437","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbsovs%2Fecse437/lists"}