{"id":27291040,"url":"https://github.com/dhruvsaxena1998/node-typescript-starter","last_synced_at":"2025-04-11T21:55:56.575Z","repository":{"id":46636821,"uuid":"375350661","full_name":"dhruvsaxena1998/node-typescript-starter","owner":"dhruvsaxena1998","description":"Node.js Starter Template ","archived":false,"fork":false,"pushed_at":"2025-04-11T11:42:15.000Z","size":607,"stargazers_count":18,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-11T21:55:49.548Z","etag":null,"topics":["drizzle-orm","eslint","honojs","pino","prettier","template","typescript","zod"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/dhruvsaxena1998.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-06-09T12:40:15.000Z","updated_at":"2025-02-10T07:21:55.000Z","dependencies_parsed_at":"2024-10-21T08:28:38.278Z","dependency_job_id":null,"html_url":"https://github.com/dhruvsaxena1998/node-typescript-starter","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/dhruvsaxena1998%2Fnode-typescript-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhruvsaxena1998%2Fnode-typescript-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhruvsaxena1998%2Fnode-typescript-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhruvsaxena1998%2Fnode-typescript-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhruvsaxena1998","download_url":"https://codeload.github.com/dhruvsaxena1998/node-typescript-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248487729,"owners_count":21112188,"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":["drizzle-orm","eslint","honojs","pino","prettier","template","typescript","zod"],"created_at":"2025-04-11T21:55:55.897Z","updated_at":"2025-04-11T21:55:56.558Z","avatar_url":"https://github.com/dhruvsaxena1998.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## NodeJS Typescript Starter\n\n## Documentation\n\n- [Libraries](https://github.com/dhruvsaxena1998/node-typescript-starter#libraries)\n- [Features](https://github.com/dhruvsaxena1998/node-typescript-starter#features)\n- [Pre requisite](https://github.com/dhruvsaxena1998/node-typescript-starter#pre-reqs)\n- [Getting Started](https://github.com/dhruvsaxena1998/node-typescript-starter#getting-started)\n\n## Libraries\n\n| Categories    | Libraries                                  |\n| ------------- | ------------------------------------------ |\n| Server        | [`Hono.js`](https://hono.dev/)             |\n| Database      | [`Drizzle ORM`](https://orm.drizzle.team/) |\n| Validations   | [`ZOD`](https://zod.dev/)                  |\n| Logging       | [`Pino`](https://github.com/pinojs/pino)   |\n| OPEN Api Spec | [`Scalar`](https://scalar.com/)            |\n\n## Features\n\n- Full Typesafety with [Typescript](https://www.typescriptlang.org/)\n- Opinionated Structure\n  - Clear and organized directory structure.\n  - Seperations of routes and handlers\n- Validations\n- Database Integration\n- OPENAPI Spec Client Integrated\n- Error Handling\n- File stream Logging\n- Testing\n- Developer Experience\n  - Hot Reloading\n  - Linting and Code Formatting\n\nAll pre-configured or minimum configuration required\\*\n\n## Pre-reqs\n\n- Environment - Node.JS\n- Editor - VSCode (Recommended)\n- Database - MySQL (pre-configured) via Drizzle ORM (configure as per needs)\n\n## Getting Started\n\n### Clone the Template\n\n1. Click the \"Use this template\" button: On the top-right of the repository's page, you'll see a \"Use this template\" button. Click it.\n\n2. Fill in repository details: You'll be prompted to give your new repository a name and set it as public or private. After that, click \"Create repository from template.\"\n\n3. Clone the new repository: Once the repository is created, clone it locally\n\n```bash\ngit clone https://github.com/your-username/your-new-repo.git\n```\n\n4. Install Dependencies\n\n```bash\n# recommended (pnpm)\n# npm i -g pnpm\n\npnpm install\n```\n\n### Configure Environment\n\nCreate .env file by replicating .env.example and fill as per needs. To properly run this project, you will need to setup following variables to your .env file.\n\n\u003e Server\n\n| key         | default value | available values                            |\n| ----------- | ------------- | ------------------------------------------- |\n| NODE_ENV    | `dev`         | `dev` `stage` `uat` `preprod` `prod` `test` |\n| SERVER_PORT | `3000`        | `number`                                    |\n\n\u003e Logging\n\n| key       | default value | available values                              |\n| --------- | ------------- | --------------------------------------------- |\n| LOG_LEVEL | `debug`       | `fatal` `error` `warn` `info` `debug` `trace` |\n\n\u003e Database\n\n| key     | default value |\n| ------- | ------------- |\n| DB_HOST | `localhost`   |\n| DB_PORT | `3306`        |\n| DB_USER |               |\n| DB_PASS |               |\n| DB_NAME |               |\n\n### Starting Application\n\n```bash\npnpm dev\n```\n\n### Building\n\n```bash\npnpm build\n```\n\n### Other Commands\n\n```bash\npnpm \u003ccommand\u003e\n```\n\n| command    | description                              |\n| ---------- | ---------------------------------------- |\n| dev        | start hot-reload server                  |\n| build      | build javascript source                  |\n| start      | start application from javascript source |\n| lint       | linting via eslint                       |\n| lint:fix   | auto-fix linting issues                  |\n| fmt        | auto-format via prettier                 |\n| test       | test application                         |\n| type-check | typecheck application without building   |\n\n## Authors\n\n- [@dhruvsaxena1998](https://github.com/dhruvsaxena1998)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhruvsaxena1998%2Fnode-typescript-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhruvsaxena1998%2Fnode-typescript-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhruvsaxena1998%2Fnode-typescript-starter/lists"}