{"id":20141534,"url":"https://github.com/michaelborn/api-module-template","last_synced_at":"2026-03-06T19:02:17.614Z","repository":{"id":86836079,"uuid":"388115653","full_name":"michaelborn/api-module-template","owner":"michaelborn","description":"ColdBox module template for a CFML API wrapper. Includes Testbox suite and Github Actions CI configuration.","archived":false,"fork":false,"pushed_at":"2021-07-21T17:51:50.000Z","size":60,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-13T10:28:14.445Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"ColdFusion","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/michaelborn.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":"2021-07-21T12:52:00.000Z","updated_at":"2022-03-22T18:55:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"e477829e-3c95-4249-9f70-12179ecc2ec7","html_url":"https://github.com/michaelborn/api-module-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelborn%2Fapi-module-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelborn%2Fapi-module-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelborn%2Fapi-module-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelborn%2Fapi-module-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelborn","download_url":"https://codeload.github.com/michaelborn/api-module-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241586494,"owners_count":19986564,"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-13T21:57:39.029Z","updated_at":"2025-11-27T19:04:51.081Z","avatar_url":"https://github.com/michaelborn.png","language":"ColdFusion","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ColdBox API Module Template\n\nUse this template to start a new API wrapper in the format of a ColdBox module.\n\n## Getting Started\n\n1. Clone this repo\n2. Wipe the `.git/` directory and reinit git - `rm -rf .git \u0026\u0026 git init`\n3. Replace `@MODULE_SLUG@` with your module slug, i.e. `cfynab`\n4. Replace `@MODULE_NAME@` with your module name, i.e. `cfYNAB`\n5. Replace `@API_NAME@` with the name of the API in uppercase, i.e. `STRAVA`\n6. Replace `@GITHUB_USER@` with your github user name, i.e. `michaelborn`\n7. Create a new github repository\n8. Configure the following secrets in the github repository:\n   1. `FORGEBOX_TOKEN` - grab this from your [Forgebox profile](https://www.forgebox.io/profile#apitoken)\n   2. `GH_TOKEN` - grab this from your [Github Developer settings](https://github.com/settings/tokens)\n   3. `@API_NAME@_API_KEY` - Used for github actions tests. `@API_NAME@_API_KEY=mySecretKey`\n   4. `@API_NAME@_API_URL` - Used for github actions tests. `@API_NAME@_API_URL=https://sandbox.finnhub.io/api/v1`\n9. Code, test, and push to a github repository to use the github actions build.\n10. Profit. 💰\n\n## Features\n\n* Github Actions configuration\n  * Run `cfformat` for consistent cfscript syntax\n  * Run module unit tests\n  * Release new module versions using Semantic Release\n  * \n\n# @MODULE_NAME@ CFML API wrapper\n\nWraps the [@MODULE_NAME@](https://@MODULE_SLUG@.io) API for easy CFML usage using the [Hyper](https://github.com/elpete/hyper) ColdBox module.\n\n![@MODULE_NAME@ Release](https://github.com/@GITHUB_USER@/@MODULE_SLUG@/actions/workflows/release.yml/badge.svg?branch=main)\n\n## Getting Started\n\n1. Install this module - `box install @MODULE_NAME@`\n2. Configure @MODULE_NAME@ API secrets using `.env`\n3. OR configure @MODULE_NAME@ API via ColdBox `moduleSettings`\n\n## Environment Variable Configuration\n\n@MODULE_NAME@ can mainly be configured using environment variables:\n\n* `@API_NAME@_API_KEY` - Required API key for authenticating with the @MODULE_NAME@ API\n* `@API_NAME@_API_URL` - base URL of the @MODULE_NAME@ API.\n\nYou'll need to either use `commandbox-dotenv` to automatically populate environment variables from the `.env` file on server start, or manually read this file to populate environment variables inside your application.\n\n```bash\n# .env file\n# @MODULE_NAME@ API Credentials\n@API_NAME@_API_KEY=\n@API_NAME@_API_URL=https://@MODULE_SLUG@.io/api/v1\n```\n\n## ColdBox Module Configuration via ModuleSettings\n\nSet this in `config/ColdBox.cfc` in the `configure()` method:\n\n```js\nmoduleSettings.@MODULE_SLUG@ = {\n    apiKey : \"blablasecret\",\n    apiURL : \"my.url\"\n};\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelborn%2Fapi-module-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelborn%2Fapi-module-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelborn%2Fapi-module-template/lists"}