{"id":20817008,"url":"https://github.com/mass1ve-err0r/api-template","last_synced_at":"2026-04-11T12:33:24.505Z","repository":{"id":42729101,"uuid":"284151467","full_name":"mass1ve-err0r/api-template","owner":"mass1ve-err0r","description":"Minimalist boilerplate to create a RESTful API with TypeScript, ExpressJS and JWT.","archived":false,"fork":false,"pushed_at":"2023-03-05T09:05:55.000Z","size":188,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-12T05:41:59.491Z","etag":null,"topics":["api","express-boilerplate","expressjs","jwt","jwt-authentication","rest-api","restful-api","typescript","typescript-boilerplate"],"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/mass1ve-err0r.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":"2020-07-31T23:54:32.000Z","updated_at":"2021-09-08T13:33:17.000Z","dependencies_parsed_at":"2024-11-17T21:38:48.350Z","dependency_job_id":null,"html_url":"https://github.com/mass1ve-err0r/api-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/mass1ve-err0r/api-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mass1ve-err0r%2Fapi-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mass1ve-err0r%2Fapi-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mass1ve-err0r%2Fapi-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mass1ve-err0r%2Fapi-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mass1ve-err0r","download_url":"https://codeload.github.com/mass1ve-err0r/api-template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mass1ve-err0r%2Fapi-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31681201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T08:18:19.405Z","status":"ssl_error","status_checked_at":"2026-04-11T08:17:08.892Z","response_time":54,"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":["api","express-boilerplate","expressjs","jwt","jwt-authentication","rest-api","restful-api","typescript","typescript-boilerplate"],"created_at":"2024-11-17T21:38:44.839Z","updated_at":"2026-04-11T12:33:24.467Z","avatar_url":"https://github.com/mass1ve-err0r.png","language":"TypeScript","readme":"# api-template\n\u003e Simple Stack combining TS, ExpressJS \u0026 JWT + Examples\n\n## In A Nutshell\nThis is essentially a basic stack to get started with creating RESTful APIs with Typescript, backed by ExpressJS and secured with JWTs.\n\nThere is no massive overhead, you can simply clone this repository and get started. \n\nFor those who are new to this, router -examples are also included.\n- This does __not__ replace following a regular tutorial if you're a newbie, please use this as help/ learning material instead of replacement in that case!\n\n## Components\n- TypeScript _(duh.)_\n- ts-node \u0026 ts-node-dev\n- ts-dotenv\n- jsonwebtoken\n- helmet\n- express\n- body-parser\n\n\n### Appendix A: ts-dotenv\nI quite liked ts-dotenv because you're essentially also creating a class to export your .env vars in a more explicit fashion.\nA `.env` is not included but essentially you'll just create it at the root of the project _(not inside `/src`)_ and declare the variable's explicit type inside `/src/env.ts`.\n\nSimple `.env` Example :\n```\n# This is a comment btw\nPORT=8000\nJWT_SECRET=my_super_secret\n```\n\nCorresponding entry inside `/src/env.ts` :\n```\nexport const schema = {  \n  PORT: Number,  \n  JWT_SECRET: String  \n};\n```\n\n### Appendix B: Safety + Comments\n- __PLEASE USE A STRONG JWT_SECRET !!!__\n- The included gitignore should cover you\n\t- macOS, Windows, Linux, Node, dotenv, JeBrains IDEs (all), VisualStudioCode\n- I'm _not_ a TS expert myself but why not share something useful, even if minimal\n\n\n## License\nThis template is licensed under the MIT License. Feel free to fork, adapt/ modify or whatever!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmass1ve-err0r%2Fapi-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmass1ve-err0r%2Fapi-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmass1ve-err0r%2Fapi-template/lists"}