{"id":14460780,"url":"https://github.com/mattelim/vite-multipage-ts-node-express-fullstack-template","last_synced_at":"2025-08-28T18:32:09.113Z","repository":{"id":156523880,"uuid":"597063985","full_name":"mattelim/vite-multipage-ts-node-express-fullstack-template","owner":"mattelim","description":"Vite typescript multipage + ts-node express fullstack template","archived":false,"fork":false,"pushed_at":"2024-06-23T21:47:17.000Z","size":943,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-02T21:06:13.590Z","etag":null,"topics":["express","livereload","nodemon","socket-io","sqlite3","template","ts-node","typescript","vite"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/mattelim.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}},"created_at":"2023-02-03T14:50:27.000Z","updated_at":"2024-08-29T04:41:05.000Z","dependencies_parsed_at":"2024-02-14T18:58:02.580Z","dependency_job_id":null,"html_url":"https://github.com/mattelim/vite-multipage-ts-node-express-fullstack-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattelim%2Fvite-multipage-ts-node-express-fullstack-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattelim%2Fvite-multipage-ts-node-express-fullstack-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattelim%2Fvite-multipage-ts-node-express-fullstack-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattelim%2Fvite-multipage-ts-node-express-fullstack-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mattelim","download_url":"https://codeload.github.com/mattelim/vite-multipage-ts-node-express-fullstack-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231294144,"owners_count":18354140,"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","livereload","nodemon","socket-io","sqlite3","template","ts-node","typescript","vite"],"created_at":"2024-09-01T21:01:55.460Z","updated_at":"2024-12-25T23:30:28.998Z","avatar_url":"https://github.com/mattelim.png","language":"TypeScript","funding_links":[],"categories":["vite"],"sub_categories":[],"readme":"# Vite typescript multipage + ts-node express fullstack 🥞 template\n\nThis template allows development and production to happen on the same server stack.\n\n**Front-end**\n- Vite\n- Typescript\n- Multipage (template includes 3 entry points)\n\n**Back-end**\n- ts-node \n- Typescript\n- Express\n- DX libraries\n  - Nodemon\n  - Livereload\n- Included (easily removed)\n  - Socket.io\n  - Sqlite3\n  \n### Getting Started\n\nTo get started, clone the repository and install the necessary node modules.\n\n`npm install`\n\n### Development \n\nDuring development, open two terminal tabs, on one, run:\n\n`npm run build -- --watch`\n\nOn the other, run:\n\n`npm run dev`\n\nThe first compiles the `.ts` and imported ES node modules into the dist folder. (This is a somewhat unconventional use of Vite – the other way is to use a bundler, but this is a shortcut for me to save time.)\n\nThe second runs the `server.ts` file in `nodemon` on port `3000` and watches for any changes to the files. To add more convenience, `livereload` is added so that the `html` pages automatically refreshes in the browser.\n\n#### Testing if the template works\n\nAfter running the two development steps, you should be able to open these addresses:\n- [http://localhost:3000/](http://localhost:3000/)\n- [http://localhost:3000/1](http://localhost:3000/1)\n- [http://localhost:3000/2](http://localhost:3000/2)\n- [http://localhost:3000/api/test](http://localhost:3000/api/test)\n\n### Production\n\nTo go into production, run:\n\n`npm run build`, then run:\n\n`npm run start`\n\nThis starts a production ts-node server on port `3000`.\n\n## Acknowledgments\n\nThis template is built using ideas and code from [cyco130/vavite](https://github.com/cyco130/vavite) and [szymmis/vite-express](https://github.com/szymmis/vite-express). \n  \n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattelim%2Fvite-multipage-ts-node-express-fullstack-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattelim%2Fvite-multipage-ts-node-express-fullstack-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattelim%2Fvite-multipage-ts-node-express-fullstack-template/lists"}