{"id":48416371,"url":"https://github.com/tapiwamakandigona/express-api-starter","last_synced_at":"2026-04-06T07:09:04.651Z","repository":{"id":339159998,"uuid":"1160720207","full_name":"tapiwamakandigona/express-api-starter","owner":"tapiwamakandigona","description":"Production-ready REST API starter with Express, TypeScript, Prisma, JWT auth, validation, error handling, and tests","archived":false,"fork":false,"pushed_at":"2026-02-27T14:00:25.000Z","size":67,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-27T18:44:21.211Z","etag":null,"topics":["api-boilerplate","backend","express","jest","jwt-authentication","nodejs","prisma","rest-api","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":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tapiwamakandigona.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":["tapiwamakandigona"]}},"created_at":"2026-02-18T09:41:45.000Z","updated_at":"2026-02-27T14:00:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tapiwamakandigona/express-api-starter","commit_stats":null,"previous_names":["tapiwamakandigona/express-api-starter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tapiwamakandigona/express-api-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tapiwamakandigona%2Fexpress-api-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tapiwamakandigona%2Fexpress-api-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tapiwamakandigona%2Fexpress-api-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tapiwamakandigona%2Fexpress-api-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tapiwamakandigona","download_url":"https://codeload.github.com/tapiwamakandigona/express-api-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tapiwamakandigona%2Fexpress-api-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31463018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["api-boilerplate","backend","express","jest","jwt-authentication","nodejs","prisma","rest-api","typescript","zod"],"created_at":"2026-04-06T07:09:04.580Z","updated_at":"2026-04-06T07:09:04.639Z","avatar_url":"https://github.com/tapiwamakandigona.png","language":"TypeScript","funding_links":["https://github.com/sponsors/tapiwamakandigona"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://capsule-render.vercel.app/api?type=waving\u0026color=gradient\u0026height=200\u0026section=header\u0026text=Express%20API%20Starter\u0026fontSize=50\u0026animation=fadeIn\u0026fontAlignY=38\u0026desc=Production-Ready%20REST%20API%20Boilerplate\u0026descAlignY=51\u0026descAlign=62\" /\u003e\n\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003eExpress + TypeScript + Prisma REST API Starter\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\u003cstrong\u003eA production-grade REST API boilerplate with JWT authentication, input validation, Prisma ORM, comprehensive error handling, and full test coverage.\u003c/strong\u003e\u003c/p\u003e\n  \n  \u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/top/tapiwamakandigona/express-api-starter?style=for-the-badge\u0026color=blue\" alt=\"Top Language\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/last-commit/tapiwamakandigona/express-api-starter?style=for-the-badge\u0026color=green\" alt=\"Last Commit\" /\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n## ⚡ What's Included\n\nThis is not a tutorial project — it's a **production-ready starter** designed for immediate use in real applications.\n\n| Layer | Technology | Purpose |\n|-------|-----------|---------|\n| **Runtime** | Node.js + Express | HTTP server |\n| **Language** | TypeScript (Strict Mode) | Type safety |\n| **ORM** | Prisma | Database access with migrations |\n| **Auth** | JWT + bcrypt | Stateless authentication |\n| **Validation** | Zod | Runtime input validation |\n| **Testing** | Jest + Supertest | Unit + integration tests |\n| **CI/CD** | GitHub Actions | Automated build + test |\n\n---\n\n## 🏗️ Architecture\n\n```mermaid\ngraph TD;\n    Client[HTTP Client] --\u003e Router[Express Router];\n    Router --\u003e Middleware[Auth Middleware / JWT];\n    Middleware --\u003e Controller[Route Controllers];\n    Controller --\u003e Service[Business Logic];\n    Service --\u003e Prisma[Prisma ORM];\n    Prisma --\u003e DB[(PostgreSQL)];\n    Controller --\u003e Validator[Zod Schemas];\n```\n\n---\n\n## 🚀 Quick Start\n\n```bash\ngit clone https://github.com/tapiwamakandigona/express-api-starter.git\ncd express-api-starter\nnpm install\ncp .env.example .env\nnpx prisma migrate dev\nnpm run dev\n```\n\n## 🧪 Run Tests\n\n```bash\nnpm test\n```\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003cb\u003eBuilt by \u003ca href=\"https://github.com/tapiwamakandigona\"\u003eTapiwa Makandigona\u003c/a\u003e\u003c/b\u003e\n  \u003cbr/\u003e\n  \u003ci\u003e⭐ Star this if you use it as a starter for your next API!\u003c/i\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftapiwamakandigona%2Fexpress-api-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftapiwamakandigona%2Fexpress-api-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftapiwamakandigona%2Fexpress-api-starter/lists"}