{"id":22712180,"url":"https://github.com/buildit/eolas","last_synced_at":"2025-08-03T18:36:23.747Z","repository":{"id":78235695,"uuid":"78479082","full_name":"buildit/eolas","owner":"buildit","description":null,"archived":false,"fork":false,"pushed_at":"2017-12-05T20:11:17.000Z","size":267,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-02-04T23:31:37.785Z","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/buildit.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-09T23:32:09.000Z","updated_at":"2017-10-24T19:17:41.000Z","dependencies_parsed_at":"2023-03-18T05:15:33.202Z","dependency_job_id":null,"html_url":"https://github.com/buildit/eolas","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/buildit%2Feolas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildit%2Feolas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildit%2Feolas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildit%2Feolas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/buildit","download_url":"https://codeload.github.com/buildit/eolas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246250086,"owners_count":20747293,"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-12-10T13:09:35.768Z","updated_at":"2025-03-29T22:21:41.938Z","avatar_url":"https://github.com/buildit.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eolas\nGaelic - Knowledge (of experience)\n\n## PURPOSE\n\nThis project is a Nodejs / Expressjs based REST service primarily used to provide project related information to the Buildit Management Information Utilities (see Synapse as the reference client).  Additionally it allows for the creation and maintenance of structures that drive the extraction and transformation of said project related demand, defect, and effort data.\n\n## INSTALLATION\n\nEolas requires the installation of NPM prior to doing any work.  [See the NPM site for installation instructions](npmjs.com \"NPM installtion\")\n\nThe Eolas service also requires a data store. At this time that is MongoDB.\nPlease install, configure, and have it running prior to using this app.  See MongoDB installation hints [here](mongodb.md \"Mongo DB installtion instructions\")\n\nOnce installed you can use the `datastore.dbUrl` property defined in the `config/development.json` file to point to your installation.\n\nThe `datastore.context` property defined in the `config/development.json` file is used to allow users / installs to share a common mongo instance and still maintain separate data.  Yes it is a bit of a hack, but it works.\n\nPrior to using or developing run the command below to load all node.js requirements\n\n```sh\n$ npm install\n```\n\n## USAGE\n\n### Serve data\nTo start the REST server:\n```sh\n$ npm start\n```\n\nEdit `config/development.json` to change the port on which the server listens.\n\n## DEVELOPMENT\n\n[For discussion on the structure of this project](structure.md \"Eolas structure\")\n\nEolas is uses ESLint recommended rules to guide code format styles.  Rules are defined in the .eslintrc file.  By default all .js files are linted.\n\nEolas uses Mocha and associated libraries to support unit level testing and nycjs to document code coverage.  Want to make a change?  Write a test.  Write code until it passes.  Make sure you didn't break any other tests.\n\nEolas uses a Mocha derivative called Chakram to support acceptance testing.  Acceptance testing requires a running instance of Eolas to execute against.  Want to make a change?  (you see where I am going with this).\n\nThe scripts below are defined in package.json and are excuted by the CI process.  Please exectute the validate and accept scripts prior to checking in code.\n\n| cli                 | purpose                                                             |\n|---------------------|---------------------------------------------------------------------|\n| `npm run lint`      | Run ESLint on all project .js files                                 |\n| `npm run security`  | Run node security check                                             |\n| `npm run test`      | Run unit tests (mocha)                                              |\n| `npm run validate`  | Run all of the above                                                |\n| `npm run accept`    | Run acceptance tests (chakram) - requires the server to be running  |\n\nEolas also makes use of Gulp to support configuration and packaging.  See gulpfile.js\n\nEolas CI/CD assumes the use of Jenkins Pipeline features (as described by the staging and production groovy scripts in the pipelines directory).  CI/CD in turn relies on both Docker and Convox for packaging and deployment respectively.\n\n### Generate test data\nEolas contains scripts to generate test data. Instructions on using these scripts can be found [here](readme-generateTestData.md).\n\n## Swagger API\nThe Eolas REST API is documented using Swagger.  See the link below for directions on viewing and maintaining said documentation.\n\n[Directions](swagger.md \"Swagger documentation generation\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuildit%2Feolas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbuildit%2Feolas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuildit%2Feolas/lists"}