{"id":19664645,"url":"https://github.com/wisersolutions/quadro","last_synced_at":"2025-04-28T21:33:48.880Z","repository":{"id":18110319,"uuid":"83361856","full_name":"WiserSolutions/quadro","owner":"WiserSolutions","description":"Server-side framework for building services","archived":false,"fork":false,"pushed_at":"2023-09-27T20:20:31.000Z","size":2951,"stargazers_count":7,"open_issues_count":65,"forks_count":13,"subscribers_count":33,"default_branch":"master","last_synced_at":"2024-04-14T19:04:57.903Z","etag":null,"topics":["framework","ioc","microservices","nodejs","opinionated-framework","quadro-framework","rest","web"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/WiserSolutions.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","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":"2017-02-27T22:07:17.000Z","updated_at":"2024-06-19T19:04:49.141Z","dependencies_parsed_at":"2024-06-19T19:15:25.643Z","dependency_job_id":null,"html_url":"https://github.com/WiserSolutions/quadro","commit_stats":{"total_commits":499,"total_committers":22,"mean_commits":"22.681818181818183","dds":"0.47895791583166336","last_synced_commit":"028a98dff1d70ac70de5bf5b8bd19629cc9e1627"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WiserSolutions%2Fquadro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WiserSolutions%2Fquadro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WiserSolutions%2Fquadro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WiserSolutions%2Fquadro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WiserSolutions","download_url":"https://codeload.github.com/WiserSolutions/quadro/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224133834,"owners_count":17261321,"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":["framework","ioc","microservices","nodejs","opinionated-framework","quadro-framework","rest","web"],"created_at":"2024-11-11T16:18:26.805Z","updated_at":"2024-11-11T16:18:28.495Z","avatar_url":"https://github.com/WiserSolutions.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quadro framework\n\n[![Code Climate](https://codeclimate.com/github/WisePricer/quadro/badges/gpa.svg)](https://codeclimate.com/github/WisePricer/quadro)\n[![CircleCI](https://circleci.com/gh/WisePricer/quadro.svg?style=shield)](https://circleci.com/gh/WisePricer/quadro)\n[![bitHound Dependencies](https://www.bithound.io/github/WisePricer/quadro/badges/dependencies.svg)](https://www.bithound.io/github/WisePricer/quadro/master/dependencies/npm)\n\nTOC:\n\n\u003c!-- TOC depthFrom:1 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 --\u003e\n\n- [Quadro framework](#quadro-framework)\n\t- [Requirements](#requirements)\n\t- [Installation](#installation)\n\t- [Configuration manager](#configuration-manager)\n\t\t- [Environment-specific configuration](#environment-specific-configuration)\n\t\t\t- [Local configuration:](#local-configuration)\n\t- [Tests runner](#tests-runner)\n\n\u003c!-- /TOC --\u003e\n\n## Requirements\n\n- See `.nvmrc` in the root of the project for Node version requirements and if possible use NVM to install Node.\n\n## Installation\n\nCreate a new app and add the following to package.json:\n\n```json\n\"dependencies\": {\n  \"quadro\": \"\"\n}\n```\n\nIn `app.js` add:\n\n```js\nconst Quadro = require('quadro')\nQuadro()\n```\n\nYou're done! Run with:\n\n```sh\nnode app.js [--watch]\n```\n\nTest with:\n\n```sh\nnode app.js test [--watch]\n```\n\n## Configuration manager\n\nConfig files should be placed in `ROOT/config/` dir.\n\nTo get value of `key.nestedKey` in configuration file named `config/someConfig.yml`:\n\n```js\napp.config.someConfig.key.nestedKey\n```\n\nFor safe configuration fetch, use `config.get`:\n\n```js\napp.config.get('someConfig.key.nestedKey')\n```\n\nTo get value of `key.nestedKey` in `config/someConfig.yml|yaml|js|json` and\ndefaults to `3000` if such key doesn't exist\n\n```js\napp.config.get('someConfig.key.nestedKey', 3000)\n```\n\n\n### Environment-specific configuration\n\nQuadro will load configuration from these paths (in the following order):\n\n- config/\n- config/$NODE_ENV\n- config/local\n\nNote: $NODE_ENV - is the NODE_ENV environment variable value\n\nConfigurations are merged while loading. In the following example:\n\n```\n|-- config/quadro.yml\n  |- dev/quadro.yml\n  |- local/quadro.yml\n```\n\nConfiguration keys from `local/quadro.yml` will override keys from `dev/quadro.yml`\nwhich in turn will override keys from `config/quadro.yml`.\n\n\n#### Local configuration:\nIt is highly recommended that any config values that are tweaked during debugging/development\nwill be added to `local/` configs. This way you can add `**/config/local/` to `.gitignore`\nand be able to keep your dev environment clean during commits/pushes.\n\nYou can maintain your local-machine specific configuration config/local.\nFor git to ignore those changes use:\n\n```sh\ngit update-index --skip-worktree **/config/local/*\n```\n\n## Tests runner\nTo run tests use:\n\n```sh\nnode app.js test\n```\n\nTo make tests re-run on file changes use:\n\n```sh\nnode app.js test --watch\n```\n\n# Contributing\n\nCommit messages should be according to https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular\n\nIn short:\n\n```\nfeat(ci): implemented a feature in CI\nfix(pubsub): retries on rabbitmq disconnect\nperf(http): HTTP performance improvements\ndocs(...): ...\nrefactor(...): ...\ntest(...): ...\nchore(...): ...\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwisersolutions%2Fquadro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwisersolutions%2Fquadro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwisersolutions%2Fquadro/lists"}