{"id":23299354,"url":"https://github.com/carrilloapps/node-ts-skeleton","last_synced_at":"2025-04-06T20:40:32.424Z","repository":{"id":264930032,"uuid":"894696456","full_name":"carrilloapps/node-ts-skeleton","owner":"carrilloapps","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-26T20:42:52.000Z","size":80,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-13T02:43:49.989Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/carrilloapps.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":"2024-11-26T20:24:30.000Z","updated_at":"2024-11-26T20:42:55.000Z","dependencies_parsed_at":"2024-11-26T21:39:32.984Z","dependency_job_id":null,"html_url":"https://github.com/carrilloapps/node-ts-skeleton","commit_stats":null,"previous_names":["carrilloapps/node-ts-skeleton"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carrilloapps%2Fnode-ts-skeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carrilloapps%2Fnode-ts-skeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carrilloapps%2Fnode-ts-skeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carrilloapps%2Fnode-ts-skeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carrilloapps","download_url":"https://codeload.github.com/carrilloapps/node-ts-skeleton/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247550639,"owners_count":20956984,"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-20T08:16:56.689Z","updated_at":"2025-04-06T20:40:32.404Z","avatar_url":"https://github.com/carrilloapps.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-ts-skeleton\n\n![GitHub Action](https://github.com/carrilloapps/node-ts-skeleton/actions/workflows/test-coverage.yml/badge.svg?branch=master)\n![Branches](./.badges/coverage-branches.svg)\n![Functions](./.badges/coverage-functions.svg)\n![Lines](./.badges/coverage-lines.svg)\n![Statements](./.badges/coverage-statements.svg)\n![Jest coverage](./.badges/coverage-jest%20coverage.svg)\n[![GitHub release](https://img.shields.io/github/release/carrilloapps/node-ts-skeleton?include_prereleases=\u0026sort=semver\u0026color=blue)](https://github.com/carrilloapps/node-ts-skeleton/releases/)\n[![License](https://img.shields.io/badge/License-BSD_3--Clause_License-blue)](#license)\n[![issues - nodets](https://img.shields.io/github/issues/carrilloapps/node-ts-skeleton)](https://github.com/carrilloapps/node-ts-skeleton/issues)\n\n## Description\n\nThis is a skeleton project intended for projects requiring the use of Node with TypeScript. The solution is initially designed for general use but provides capabilities for unit testing, HTTP, and environment variable management.\n\n### Libraries\n\nThis project primarily includes the following libraries and elements.\n\n## Installation\n\nFollow these steps to set up the project on your local machine:\n\n1. **Clone the repository**  \n   Clone the project repository from GitHub:\n\n   ```bash\n   git clone https://github.com/carrilloapps/node-ts-skeleton.git\n   cd nodets\n    ```\n   \n2. **Install the dependencies**\n   Install the project dependencies using npm:\n\n   ```bash\n   npm install --legacy-peer-deps\n   ```\n\n3. **Configure environment variables**\n   Create a `.env` file in the `src/app` directory and define your environment variables as needed. Here's an example:\n\n   ```bash\n    PORT=3000\n    NODE_ENV=development\n   ```\n\n4. **Start the project**\n   Start the project using the following command:\n\n   ```bash\n   npm start\n   ```\n \n5. **Run the tests**\n   To run the unit tests, use:\n\n   ```bash\n   npm test\n   ```\n\n   This command will run all the tests in the `src/test` directory.\n\n6. **Build the project**\n    To build the project, use:\n    \n    ```bash\n    npm run build\n    ```\n    \n    This command will compile the TypeScript code into JavaScript and place it in the `dist` directory.\n\n## Usage\n\nExamples of how to use the project after installation. For example:\n\n``` bash\nnpm start\n```\n\nThis command will start the project with the default configuration:\n\n- [Jest](https://jestjs.io/) for unit testing\n- [DotEnv](https://www.npmjs.com/package/dotenv) for environment variables\n- [Winston](https://www.npmjs.com/package/winston) for logging\n- [TypeScript](https://www.typescriptlang.org/) for code compilation\n- [Eslint](https://eslint.org/) for code linting\n- [Prettier](https://prettier.io/) for code formatting\n- [Husky](https://www.npmjs.com/package/husky) for pre-commit hooks\n- [Nodemon](https://nodemon.io/) for development server\n- [TS-node](https://www.npmjs.com/package/ts-node) for TypeScript Node integration\n\n## Examples\n\nThe `main.ts` file is the main application file where an example of how to use the project can be seen.\n\n``` typescript\nimport logger from \"app/app.logger\";\nimport env from \"app/app.env\";\n\nexport function main() {\n  logger.info(\"Starting app...\");\n  logger.info(`Environment: ${env.apiKey}`);\n}\n\nmain();\n```\n\n## Contribution\n\nGuide to contribute to the project. For example:\n\n1. Fork the repository.\n2. Create a new branch (`git checkout -b feature/new-feature`).\n3. Make your changes and commit them (`git commit -am 'Add new feature'`).\n4. Push your changes (`git push origin feature/new-feature`).\n5. Open a Pull Request.\n\n## License\n\nReleased under [BSD 3-Clause License](/LICENSE) by [@carrilloapps](https://github.com/carrilloapps).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarrilloapps%2Fnode-ts-skeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarrilloapps%2Fnode-ts-skeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarrilloapps%2Fnode-ts-skeleton/lists"}