{"id":14975540,"url":"https://github.com/orang-utan/ts-boilerplate","last_synced_at":"2025-10-04T14:35:44.810Z","repository":{"id":40749922,"uuid":"278032777","full_name":"Orang-utan/ts-boilerplate","owner":"Orang-utan","description":"🚀🤩 Dead simple monorepo boilerplate web project designed to take you from Git Cloning to Heroku Deployment in less 5 minutes. Tech Stack: TypeScript, JavaScript, React, Express, MongoDB.","archived":false,"fork":false,"pushed_at":"2023-01-24T04:36:38.000Z","size":4137,"stargazers_count":12,"open_issues_count":39,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-01T06:05:48.050Z","etag":null,"topics":["boilerplate","boilerplate-template","express","expressjs","heroku","heroku-deployment","herokuapp","mongodb","mongoose","mongoosejs","node","nodejs","react","react-router","reactjs","typescript"],"latest_commit_sha":null,"homepage":"https://ts-boilerplate.herokuapp.com/","language":"JavaScript","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/Orang-utan.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}},"created_at":"2020-07-08T08:24:34.000Z","updated_at":"2024-10-21T00:53:04.000Z","dependencies_parsed_at":"2023-02-13T17:45:43.186Z","dependency_job_id":null,"html_url":"https://github.com/Orang-utan/ts-boilerplate","commit_stats":null,"previous_names":[],"tags_count":2,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orang-utan%2Fts-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orang-utan%2Fts-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orang-utan%2Fts-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orang-utan%2Fts-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Orang-utan","download_url":"https://codeload.github.com/Orang-utan/ts-boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238508483,"owners_count":19484138,"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":["boilerplate","boilerplate-template","express","expressjs","heroku","heroku-deployment","herokuapp","mongodb","mongoose","mongoosejs","node","nodejs","react","react-router","reactjs","typescript"],"created_at":"2024-09-24T13:52:11.111Z","updated_at":"2025-10-04T14:35:44.709Z","avatar_url":"https://github.com/Orang-utan.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TS-Boilerplate\n\n![demo](docs/images/demo.png 'Demo')\n\nDead simple monorepo boilerplate web project designed to take you from Git Cloning to Heroku Deployment in less 5 minutes. 🚀🤩\n\nIt is built using the TypeScript, React, Express, Mongoose, MongoDB stack. If you want to checkout an example project based on TS-Boilerplate, check out [TS-Canvas](https://github.com/orang-utan/ts-canvas).\n\n## Features\n\nEssentially, here're some of its features:\n\n- JWT-based user authentication / authorization system\n- Silent refresh / access token retrieval\n- Clean mono-repo structure with Express Server and React Client\n- Code linting setup according to Airbnb standards\n- Able to connect to MongoDB and WebSockets\n- Pretty UI using Bulma and Styled Components\n- Easy deployability on Heroku (literally 3 steps, it's really easy)\n\n## Setting Up\n\n#### Recommended Tools Checklist\n\n- Git Clone this repository\n- Create a [MongoDB Atlas Account](https://www.mongodb.com/cloud/atlas)\n- Create a [Heroku account](https://www.heroku.com/)\n- Install [Node.JS](https://nodejs.org/en/download/)\n- Install [Yarn Package Manager](https://classic.yarnpkg.com/en/docs/install/#mac-stable)\n\n#### Installing Requirements\n\n```bash\n$ git clone https://github.com/Orang-utan/ts-boilerplate.git\n$ cd ts-boilerplate\n$ yarn setup\n```\n\n##### Configuring Enviromental Variable\n\nCreate file called \".env.development\" in root directory, it should look like the following:\n\n```\nATLAS_URI=mongodb-connection-string-placeholder\nJWT_SECRET=my-secret-jwt-key-placeholder\n```\n\nThen, create another file called \".env\" in \"src/client\", it should look like the following:\n\n```\nREACT_APP_API_URL=\"http://localhost:5000\"\n```\n\n#### Running Project\n\n```bash\n$ # run both server and client\n$ yarn dev\n$ # run server only\n$ yarn server\n$ # run client only\n$ yarn client\n```\n\n#### To Deploy\n\nDeploying this project on Heroku is dead simple. Basically, go on Heroku and create a new Heroku app, connect your project Github to your new Heroku app, and hit Deploy. Note, that you will need to configure the enviromental variable under settings.\n\n\n## Todo\n- [ ] Account Confirmation / Password Reset (SendGrid)\n- [ ] Migrate Project from MongoDB to PostgreSQL\n- [ ] Refactor Backend to CLEAN architecture\n- [ ] File upload functionality\n- [ ] CRUD Operations Demo\n- [ ] Dockerize + Kubernetes Infrastructure\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forang-utan%2Fts-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forang-utan%2Fts-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forang-utan%2Fts-boilerplate/lists"}