{"id":25281963,"url":"https://github.com/pnstack/template-node-typescript","last_synced_at":"2026-01-24T16:43:39.194Z","repository":{"id":111956069,"uuid":"574341018","full_name":"pnstack/template-node-typescript","owner":"pnstack","description":"Template node typescript","archived":false,"fork":false,"pushed_at":"2026-01-22T12:20:17.000Z","size":489,"stargazers_count":1,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-23T04:08:56.565Z","etag":null,"topics":["javascript","learn-to-code","template","typescript","typescript-boilerplate","typescript-starter"],"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/pnstack.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["nvp2k1"]}},"created_at":"2022-12-05T04:52:56.000Z","updated_at":"2025-12-06T03:57:56.000Z","dependencies_parsed_at":"2023-07-02T03:51:38.459Z","dependency_job_id":"c7230f04-afec-41f8-aed7-f875dda293b5","html_url":"https://github.com/pnstack/template-node-typescript","commit_stats":null,"previous_names":["pnstack/template-node-typescript"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/pnstack/template-node-typescript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnstack%2Ftemplate-node-typescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnstack%2Ftemplate-node-typescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnstack%2Ftemplate-node-typescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnstack%2Ftemplate-node-typescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pnstack","download_url":"https://codeload.github.com/pnstack/template-node-typescript/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pnstack%2Ftemplate-node-typescript/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28731790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T10:24:43.181Z","status":"ssl_error","status_checked_at":"2026-01-24T10:24:36.112Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["javascript","learn-to-code","template","typescript","typescript-boilerplate","typescript-starter"],"created_at":"2025-02-12T19:09:02.263Z","updated_at":"2026-01-24T16:43:39.189Z","avatar_url":"https://github.com/pnstack.png","language":"JavaScript","funding_links":["https://github.com/sponsors/nvp2k1"],"categories":[],"sub_categories":[],"readme":"# Template Node.js TypeScript\n\nA modern Node.js TypeScript template with a well-organized folder structure and best practices.\n\n## Requirements\n\n- Node.js 22.x (LTS)\n- pnpm (recommended) or npm\n\n## Getting Started\n\nInstructions for installing dependencies and running the app locally.\n\n```bash\n# Install dependencies\npnpm install\n\n# Run in development mode\npnpm run dev\n\n# Build for production\npnpm run build\n\n# Start production server\npnpm run start\n```\n\n## Project Structure\n\n```\nsrc/\n├── config/        # Configuration files and environment variables\n├── constants/     # Application constants and enums\n├── middleware/    # Express/HTTP middleware functions\n├── services/      # Business logic and service layer\n├── shared/        # Shared utilities and helpers\n├── types/         # TypeScript type definitions and interfaces\n├── utils/         # Utility functions and helpers\n└── index.ts       # Application entry point\n\ntests/             # Unit and integration tests\ndist/              # Compiled JavaScript output (generated)\n```\n\n### Folder Descriptions\n\n| Folder | Description |\n|--------|-------------|\n| `config/` | Environment configuration, app settings, and external service configs |\n| `constants/` | Static values, HTTP status codes, error messages, and app-wide constants |\n| `middleware/` | Request processing middleware (auth, logging, validation, etc.) |\n| `services/` | Business logic layer with reusable service modules |\n| `shared/` | Cross-cutting utilities shared across the application |\n| `types/` | TypeScript interfaces, types, and type guards |\n| `utils/` | Helper functions and utility modules |\n\n## Scripts\n\n| Script | Description |\n|--------|-------------|\n| `dev` | Starts the app in development mode with live reloading |\n| `build` | Compiles TypeScript to JavaScript (CJS and ESM) |\n| `start` | Runs the compiled app |\n| `test` | Runs unit tests |\n| `test:cov` | Runs tests with coverage report |\n| `lint` | Runs ESLint to check and fix code style |\n| `format` | Formats code using Prettier |\n\n## Path Aliases\n\nThe project uses path aliases for cleaner imports:\n\n```typescript\nimport { config } from '@/config';\nimport { HTTP_STATUS } from '@/constants';\nimport { getCurrentTimestamp } from '@/utils';\n```\n\n## Docker\n\nBuild and run the application using Docker:\n\n```bash\ndocker build -t template-node-typescript .\ndocker run -p 8080:8080 template-node-typescript\n```\n\n## Built With\n\n- [Node.js](https://nodejs.org/) - JavaScript runtime (v22 LTS)\n- [TypeScript](https://www.typescriptlang.org/) - Typed superset of JavaScript\n- [Jest](https://jestjs.io/) - Testing framework\n- [ESLint](https://eslint.org/) - Linting utility\n- [Prettier](https://prettier.io/) - Code formatter\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpnstack%2Ftemplate-node-typescript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpnstack%2Ftemplate-node-typescript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpnstack%2Ftemplate-node-typescript/lists"}