{"id":22120565,"url":"https://github.com/jorgecoke/express-typescript-swagger-zod-template","last_synced_at":"2026-04-11T13:08:57.443Z","repository":{"id":235219779,"uuid":"788963860","full_name":"JorgeCoke/express-typescript-swagger-zod-template","owner":"JorgeCoke","description":"Express 🚀 template, including Typesafety 🛡, with automatic Swagger OpenApi 📚 docs generator and Zod validator 🦄","archived":false,"fork":false,"pushed_at":"2025-02-07T20:51:10.000Z","size":1582,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T21:29:39.701Z","etag":null,"topics":["express","expressjs","openapi","swagger","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/JorgeCoke.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2024-04-19T12:40:46.000Z","updated_at":"2024-05-03T08:20:20.000Z","dependencies_parsed_at":"2025-02-12T00:30:47.660Z","dependency_job_id":null,"html_url":"https://github.com/JorgeCoke/express-typescript-swagger-zod-template","commit_stats":null,"previous_names":["jorgecoke/express-typescript-swagger-zod-template"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JorgeCoke%2Fexpress-typescript-swagger-zod-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JorgeCoke%2Fexpress-typescript-swagger-zod-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JorgeCoke%2Fexpress-typescript-swagger-zod-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JorgeCoke%2Fexpress-typescript-swagger-zod-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JorgeCoke","download_url":"https://codeload.github.com/JorgeCoke/express-typescript-swagger-zod-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245224003,"owners_count":20580362,"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":["express","expressjs","openapi","swagger","typescript","zod"],"created_at":"2024-12-01T14:27:39.786Z","updated_at":"2025-12-30T23:27:50.170Z","avatar_url":"https://github.com/JorgeCoke.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"Express Swagger and Zod Template logo\" src=\"repo-logo.png\" width=\"512\"/\u003e\n\u003c/p\u003e\n\n# Express + Typescript + Swagger + Zod [Template]\n\n**Express** 🚀 template, including **Typesafety** 🛡, with **automatic Swagger OpenApi** 📚 docs generator and **Zod validator** 🦄\n\n## ✨ Features\n\n- 🚀 [Express](https://expressjs.com/) NodeJS server\n- 📚 [Swagger](https://swagger.io/) OpenApi definition automatically generated based on your Zod Schemas, served vía Swagger UI\n- 🦄 [Zod](https://zod.dev/) Validate inputs and outputs, type Req and Res objects automagically, under a Typesafety environment\n- 📁 Scalable Project Structure, split features into modules\n- 🌧 [Drizzle](https://orm.drizzle.team/) as **SQLite ORM**\n- 🧪 Powerful testing suite setup with [Vitest](https://vitest.dev/) and [Supertest](https://www.npmjs.com/package/supertest). Unitary and Integration test included, +90% code coverage report included!\n- 📄 [Morgan](https://www.npmjs.com/package/morgan) Log retention. Save your request logs automatically with an automated rotating write stream\n- 🌲 [Pino](https://github.com/pinojs/pino) logger\n- ❌ Global Error Handler included\n- ❤️‍🩹 Monitoring Health check endpoint included\n- 🔒 Security middlewares provided: [Helmet](https://www.npmjs.com/package/helment) for HTTP header security, [CORS](https://www.npmjs.com/package/cors) setup, and [Rate Limiting](https://www.npmjs.com/package/express-rate-limit)\n- 💉 [InversifyJS](https://github.com/inversify/InversifyJS) Dependency Injection\n- 🌐 Latest stable NodeJS working environment, with .env config variables validated with [Zod](https://zod.dev/)\n- 🎨 The best **linter** and **formatter**, [BiomeJS](https://biomejs.dev/)\n- 🐶 Pre-Commit and Commit [Husky](https://github.com/typicode/husky) hooks (Runs linter and formatter before any commit against staged files only!)\n- 💄 Commit nomenclature rules following [Conventional Commit Format](https://commitlint.js.org/) and [Commitizen CLI](https://github.com/commitizen/cz-cli) (emoji [powered](https://github.com/folke/devmoji))\n- 🚀 Release management policy with [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version), including automagically CHANGELOG.md generation, version bumping and GitTags\n- 🔦 Included [npm-check](https://www.npmjs.com/package/npm-check) to check for outdated, incorrect, and unused dependencies.\n- 🥷🏻 Included [better-npm-audit](https://www.npmjs.com/package/better-npm-audit) to check for dependency vulnerabilities\n\n## 🛠 Getting Started\n\n```\nnpm ci                  # Install dependencies\ncp .env.example .env    # And fill .env file variables\nnpm run db:migrate      # Generate an empty sqlite db and run migrations\nnpm run db:seed         # Seed db with dummy data\nnpm run dev             # Launch project locally\n```\n\n## 🎨 Linter \u0026 Formatter\n\n```\nnpm run biome        # Run Biome\n```\n\n## ⛩ Git Commit with Commitizen\n\n```\ngit add .            # Add files\nnpm run cz           # Commit with Commitizen CLI\n```\n\n## 🚀 Release a new version\n\n```\nnpm run release             # Bump version and generate CHANGELOG.md\ngit push --follow-tags      # Push changes and GitTag to origin\n```\n\n## 🔦 Check vulnerabilities and update outdated dependencies\n\n```\nnpm run npm:audit     # Check dependency vulnerabilities\nnpm run npm:check     # Check outdated dependencies\n```\n\n## 🏗 Build and launch\n\n```\nnpm run build         # Compile project\nnpm run start         # Launch\n```\n\n## 🧪 Testing\n\n```\nnpm run test                # Run all tests\nnpm run test:cov            # Run all tests with code coverage report\n```\n\n## 📀 Database Drizzle Cheatsheet\n\n```\nnpm run db:generate     # Check db schemas and generate migrations if needed\nnpm run db:migrate      # Run migrations\nnpm run db:seed         # Seed database\nnpm run db:studio       # Open drizzle studio\nnpm run db:setuptests   # Setup test environment\nnpm run db:hardreset    # DANGER! Removes all data from databases, run migrations, and seed database afterwards\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjorgecoke%2Fexpress-typescript-swagger-zod-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjorgecoke%2Fexpress-typescript-swagger-zod-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjorgecoke%2Fexpress-typescript-swagger-zod-template/lists"}