<script type="application/json" id="HeaderNotice-apollo-state-992f9e1e-c79c-43fb-96a9-089d825fa346">{}</script> <!-- glamorIds: 7 --> <script type="application/json" id="HeaderNotice-glamor-992f9e1e-c79c-43fb-96a9-089d825fa346">["1htug8r","1yodi52","iepywa","x5hg3h","u0iaox","9ilv8v","gwph6j"]</script> <style>@-webkit-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-moz-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-o-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-webkit-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-moz-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-o-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-webkit-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-moz-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-o-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-webkit-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-moz-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-o-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-webkit-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-moz-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-o-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-webkit-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-moz-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-o-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}.css-gwph6j,[data-css-gwph6j]{border-radius:2px;background-size:200% 100%;width:auto;height:auto;animation:20s animation_1yodi52 0s linear infinite;background:-webkit-linear-gradient(to right, #f1f1f1 0%, #fbfbfb 50%, #f1f1f1 100%); background: -moz-linear-gradient(to right, #f1f1f1 0%, #fbfbfb 50%, #f1f1f1 100%); background: linear-gradient(to right, #f1f1f1 0%, #fbfbfb 50%, #f1f1f1 100%);-webkit-animation:20s animation_1yodi52 0s linear infinite;}</style> <div id="HeaderNotice-react-component-992f9e1e-c79c-43fb-96a9-089d825fa346" data-ssr="true" ><div style="z-index:1000" class="css-gwph6j"></div></div> <script> renderComponent('HeaderNotice','HeaderNotice-react-component-992f9e1e-c79c-43fb-96a9-089d825fa346','HeaderNotice-apollo-state-992f9e1e-c79c-43fb-96a9-089d825fa346','HeaderNotice-glamor-992f9e1e-c79c-43fb-96a9-089d825fa346', 'apollo','{"mobile":false}'); </script> <script type="application/json" id="ToolProfile-apollo-state-884e4c4f-bb05-48b0-a0db-74dda52e5b30">{"ROOT_QUERY":{"me":null,"tool({\"id\":\"typeorm\"})":{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"},"tool({\"id\":\"101231777149555129\"})":{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"}},"Tool:101231777149555129":{"id":"101231777149555129","private":false,"imageUrl":"https://img.stackshare.io/service/7419/20165699.png","thumbUrl":"https://img.stackshare.io/service/7419/thumb_20165699.png","thumbRetinaUrl":"https://img.stackshare.io/service/7419/thumb_retina_20165699.png","name":"TypeORM","pressUrl":"https://github.com/typeorm/typeorm","contactFlow":{"type":"json","json":{}},"legacyThirdPartyId":"7419","jobsCount":0,"type":"Tool","keywords":{"type":"json","json":[]},"packageUrl":null,"packageManager":null,"featuredPosts":{"type":"id","generated":true,"id":"$Tool:101231777149555129.featuredPosts","typename":"FeaturedPostConnection"},"alternativeTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231777149555129.alternativeTools({\"first\":5})","typename":"ToolConnection"},"followers":{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers","typename":"UserConnection"},"privateStacks":{"type":"id","generated":true,"id":"$Tool:101231777149555129.privateStacks","typename":"StackConnection"},"privateUsersUsing":{"type":"id","generated":true,"id":"$Tool:101231777149555129.privateUsersUsing","typename":"UserConnection"},"privateUsersUsingViaPersonalStacks":{"type":"id","generated":true,"id":"$Tool:101231777149555129.privateUsersUsingViaPersonalStacks","typename":"UserConnection"},"privateUsersViaContributedStacks":{"type":"id","generated":true,"id":"$Tool:101231777149555129.privateUsersViaContributedStacks","typename":"UserConnection"},"teams":{"type":"id","generated":true,"id":"$Tool:101231777149555129.teams","typename":"TeamConnection"},"privateStackDecisions":{"type":"id","generated":true,"id":"$Tool:101231777149555129.privateStackDecisions","typename":"StackDecisionConnection"},"privateFollowers":{"type":"id","generated":true,"id":"$Tool:101231777149555129.privateFollowers","typename":"UserConnection"},"company":{"type":"id","generated":true,"id":"$Tool:101231777149555129.company","typename":"Company"},"pros":{"type":"id","generated":true,"id":"$Tool:101231777149555129.pros","typename":"ReasonConnection"},"slug":"typeorm","path":"/typeorm","verified":false,"title":"An ORM that can run in NodeJS and others","twitterUsername":"","websiteUrl":"https://typeorm.io/","following":false,"githubStarsCount":29875,"githubForksCount":5547,"githubUpdatedAt":"2022-12-06T14:51:07Z","hackernewsOnlineMentionsCount":0,"redditOnlineMentionsCount":363,"stackOverflowOnlineMentionsCount":4215,"description":"It supports both Active Record and Data Mapper patterns, unlike all other JavaScript ORMs currently in existence, which means you can write high quality, loosely coupled, scalable, maintainable applications the most productive way.","ampStoryEnabled":false,"stacks":539,"votes":70,"jobs":30,"relatedStackups":{"type":"id","generated":true,"id":"$Tool:101231777149555129.relatedStackups","typename":"StackupConnection"},"function":{"type":"id","generated":true,"id":"$Tool:101231777149555129.function","typename":"Function"},"layer":{"type":"id","generated":true,"id":"$Tool:101231777149555129.layer","typename":"Layer"},"category":{"type":"id","generated":true,"id":"$Tool:101231777149555129.category","typename":"Category"},"allToolIntegrations":{"type":"id","generated":true,"id":"$Tool:101231777149555129.allToolIntegrations","typename":"ToolConnection"},"companyStacksUsing":{"type":"id","generated":true,"id":"$Tool:101231777149555129.companyStacksUsing","typename":"StackConnection"},"userStacksUsing":{"type":"id","generated":true,"id":"$Tool:101231777149555129.userStacksUsing","typename":"StackConnection"},"features":"automatically create the database table schemes based on your models;\r\ntransparently insert / update / delete to the database your objects;\r\nmap your selections from tables to JavaScript objects and map table columns to object properties;\r\neasily create one-to-one, many-to-one, one-to-many and many-to-many relations between tables;\r\nand much more.","footerAlternateTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerAlternateTools({\"first\":5})","typename":"ToolConnection"},"footerNewTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerNewTools({\"first\":5})","typename":"ToolConnection"},"footerTopTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerTopTools({\"first\":5})","typename":"ToolConnection"},"footerRelatedStackups({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerRelatedStackups({\"first\":5})","typename":"StackupConnection"},"toolType":true,"adoptionStageContext":null,"adoptionStage":null,"versionRules":{"type":"id","generated":true,"id":"$Tool:101231777149555129.versionRules","typename":"VersionRuleConnection"},"__typename":"Tool","followers({\"first\":10})":{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers({\"first\":10})","typename":"UserConnection"},"userStacksUsing({\"first\":9})":{"type":"id","generated":true,"id":"$Tool:101231777149555129.userStacksUsing({\"first\":9})","typename":"StackConnection"},"relatedStackups({\"first\":6})":{"type":"id","generated":true,"id":"$Tool:101231777149555129.relatedStackups({\"first\":6})","typename":"StackupConnection"},"companyStacksUsing({\"first\":9})":{"type":"id","generated":true,"id":"$Tool:101231777149555129.companyStacksUsing({\"first\":9})","typename":"StackConnection"},"fans":894,"stackDecisions({\"first\":6})":{"type":"id","generated":true,"id":"$Tool:101231777149555129.stackDecisions({\"first\":6})","typename":"StackDecisionConnection"}},"$Tool:101231777149555129.featuredPosts":{"edges":[],"__typename":"FeaturedPostConnection"},"Tool:101231774819836780":{"id":"101231774819836780","name":"Sequelize","description":"Sequelize is a promise-based ORM for Node.js and io.js. It supports the dialects PostgreSQL, MySQL,\r\nMariaDB, SQLite and MSSQL and features solid transaction support, relations, read replication and\r\nmore.","__typename":"Tool","imageUrl":"https://img.stackshare.io/service/3211/3591786.png","thumbUrl":"https://img.stackshare.io/service/3211/thumb_3591786.png","path":"/sequelize","stacks":763,"fans":1555,"votes":124,"following":false},"$Tool:101231777149555129.alternativeTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":false,"id":"Tool:101231774819836780","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773951552081":{"id":"101231773951552081","name":"Mongoose","description":"Let's face it, writing MongoDB validation, casting and business logic boilerplate is a drag. That's why we wrote Mongoose. Mongoose provides a straight-forward, schema-based solution to modeling your application data and includes built-in type casting, validation, query building, business logic hooks and more, out of the box.","__typename":"Tool","imageUrl":"https://img.stackshare.io/service/1231/0TXzZU7W_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/1231/thumb_0TXzZU7W_400x400.jpg"},"$Tool:101231777149555129.alternativeTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":false,"id":"Tool:101231773951552081","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231774559088350":{"id":"101231774559088350","name":"LoopBack","description":"A highly-extensible, open-source Node.js framework that enables you to create dynamic end-to-end REST APIs with little or no coding. Connect to multiple data sources, write business logic in Node.js, glue on top of your existing services and data, connect using JS, iOS & Android SDKs.","__typename":"Tool","imageUrl":"https://img.stackshare.io/service/2727/default_634685dfedc4df3d35d7eaa25d9d4cdd0be4c7b9.jpg","thumbUrl":"https://img.stackshare.io/service/2727/thumb_634685dfedc4df3d35d7eaa25d9d4cdd0be4c7b9.jpg"},"$Tool:101231777149555129.alternativeTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":false,"id":"Tool:101231774559088350","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231777783693321":{"id":"101231777783693321","name":"Prisma","description":"Prisma is an open-source database toolkit. It replaces traditional ORMs and makes database access easy with an auto-generated query builder for TypeScript & Node.js.","__typename":"Tool","imageUrl":"https://img.stackshare.io/service/8680/Logo_Symbol_White.jpg","thumbUrl":"https://img.stackshare.io/service/8680/thumb_Logo_Symbol_White.jpg"},"$Tool:101231777149555129.alternativeTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":false,"id":"Tool:101231777783693321","typename":"Tool"},"__typename":"ToolEdge"},"Tool:103786578483151374":{"id":"103786578483151374","name":"MikroORM","description":"TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, PostgreSQL and SQLite databases.","__typename":"Tool","imageUrl":"https://img.stackshare.io/service/11850/mikro.png","thumbUrl":"https://img.stackshare.io/service/11850/thumb_mikro.png"},"$Tool:101231777149555129.alternativeTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":false,"id":"Tool:103786578483151374","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.alternativeTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231777149555129.alternativeTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.alternativeTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.alternativeTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.alternativeTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.alternativeTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231777149555129.followers":{"count":716,"__typename":"UserConnection"},"$Tool:101231777149555129.privateStacks":{"count":0,"__typename":"StackConnection"},"$Tool:101231777149555129.privateUsersUsing":{"count":0,"__typename":"UserConnection"},"$Tool:101231777149555129.privateUsersUsingViaPersonalStacks":{"count":0,"__typename":"UserConnection"},"$Tool:101231777149555129.privateUsersViaContributedStacks":{"count":0,"__typename":"UserConnection"},"$Tool:101231777149555129.teams":{"count":0,"__typename":"TeamConnection"},"$Tool:101231777149555129.privateStackDecisions":{"count":0,"__typename":"StackDecisionConnection"},"$Tool:101231777149555129.privateFollowers":{"count":0,"__typename":"UserConnection"},"$Tool:101231777149555129.company":{"name":"TypeORM","amIOwner":false,"slug":"typeorm","path":"/companies/typeorm","stacks":[],"owners":[],"__typename":"Company"},"$Tool:101231777149555129.pros.pageInfo":{"hasNextPage":false,"endCursor":"OA","__typename":"PageInfo"},"$Tool:101231777149555129.pros":{"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231777149555129.pros.pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231777149555129.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.pros.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.pros.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.pros.edges.7","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:102625364949380676":{"id":"102625364949380676","upvoted":false,"upvotesCount":28,"text":"Typescript","__typename":"Reason"},"$Tool:101231777149555129.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:102625364949380676","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104941404062192716":{"id":"104941404062192716","upvoted":false,"upvotesCount":10,"text":"Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Ser","__typename":"Reason"},"$Tool:101231777149555129.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:104941404062192716","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104941386851615695":{"id":"104941386851615695","upvoted":false,"upvotesCount":9,"text":"Easy setup","__typename":"Reason"},"$Tool:101231777149555129.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:104941386851615695","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104941404917159871":{"id":"104941404917159871","upvoted":false,"upvotesCount":7,"text":"Works in NodeJS, Browser, Ionic, Cordova and Electron p","__typename":"Reason"},"$Tool:101231777149555129.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:104941404917159871","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104941386442701158":{"id":"104941386442701158","upvoted":false,"upvotesCount":6,"text":"Support MySQL & MariaDB, PostgreSQL, MSSQL, Sqlite","__typename":"Reason"},"$Tool:101231777149555129.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:104941386442701158","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104941422940524526":{"id":"104941422940524526","upvoted":false,"upvotesCount":6,"text":"Promise Based","__typename":"Reason"},"$Tool:101231777149555129.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:104941422940524526","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:107694311595481557":{"id":"107694311595481557","upvoted":false,"upvotesCount":3,"text":"Cons of TypeORM","__typename":"Reason"},"$Tool:101231777149555129.pros.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:107694311595481557","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108822939130500832":{"id":"108822939130500832","upvoted":false,"upvotesCount":1,"text":"Support MongoDB","__typename":"Reason"},"$Tool:101231777149555129.pros.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:108822939130500832","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231777149555129.relatedStackups":{"count":60,"__typename":"StackupConnection"},"$Tool:101231777149555129.function":{"name":"Microframeworks (Backend)","slug":"microframeworks","__typename":"Function"},"$Tool:101231777149555129.layer":{"name":"Application and Data","slug":"application_and_data","__typename":"Layer"},"$Tool:101231777149555129.category":{"name":"Languages & Frameworks","slug":"languages-and-frameworks","__typename":"Category"},"$Tool:101231777149555129.allToolIntegrations":{"count":0,"__typename":"ToolConnection"},"$Tool:101231777149555129.companyStacksUsing":{"count":85,"__typename":"StackConnection"},"$Tool:101231777149555129.userStacksUsing":{"count":330,"__typename":"StackConnection"},"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.0.node":{"name":"Sequelize","path":"/sequelize","__typename":"Tool"},"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.0.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.1.node":{"name":"Mongoose","path":"/mongoose","__typename":"Tool"},"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.1.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.2.node":{"name":"LoopBack","path":"/loopback","__typename":"Tool"},"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.2.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.3.node":{"name":"Prisma","path":"/prisma","__typename":"Tool"},"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.3.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.4.node":{"name":"MikroORM","path":"/mikroorm","__typename":"Tool"},"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.4.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerAlternateTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerAlternateTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.0.node":{"name":"LineageOS","path":"/lineageos","__typename":"Tool"},"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.0.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.1.node":{"name":"FortiOS","path":"/fortios","__typename":"Tool"},"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.1.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.2.node":{"name":"EuroLinux","path":"/euro-linux","__typename":"Tool"},"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.2.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.3.node":{"name":"antiX Linux","path":"/antix-linux","__typename":"Tool"},"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.3.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.4.node":{"name":"AlmaLinux","path":"/almalinux","__typename":"Tool"},"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.4.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerNewTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerNewTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.0.node":{"name":"JavaScript","path":"/javascript","__typename":"Tool"},"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.0.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.1.node":{"name":"Python","path":"/python","__typename":"Tool"},"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.1.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.2.node":{"name":"Node.js","path":"/nodejs","__typename":"Tool"},"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.2.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.3.node":{"name":"PHP","path":"/php","__typename":"Tool"},"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.3.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.4.node":{"name":"HTML5","path":"/html5","__typename":"Tool"},"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.4.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231777149555129.footerTopTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerTopTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.0.node":{"path":"/stackups/mongoose-vs-typeorm","title":"Mongoose vs TypeORM","__typename":"Stackup"},"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.0.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.1.node":{"path":"/stackups/sequelize-vs-typeorm","title":"Sequelize vs TypeORM","__typename":"Stackup"},"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.1.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.2.node":{"path":"/stackups/expressjs-vs-typeorm","title":"ExpressJS vs TypeORM","__typename":"Stackup"},"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.2.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.3.node":{"path":"/stackups/sailsjs-vs-typeorm","title":"Sails.js vs TypeORM","__typename":"Stackup"},"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.3.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.4.node":{"path":"/stackups/loopback-vs-typeorm","title":"LoopBack vs TypeORM","__typename":"Stackup"},"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.4.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231777149555129.footerRelatedStackups({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.0","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.1","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.2","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.3","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.footerRelatedStackups({\"first\":5}).edges.4","typename":"StackupEdge"}],"__typename":"StackupConnection"},"$Tool:101231777149555129.versionRules":{"count":0,"__typename":"VersionRuleConnection"},"$Tool:101231777149555129.followers({\"first\":10})":{"count":716,"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers({\"first\":10}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers({\"first\":10}).edges.0","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers({\"first\":10}).edges.1","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers({\"first\":10}).edges.2","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers({\"first\":10}).edges.3","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers({\"first\":10}).edges.4","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers({\"first\":10}).edges.5","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers({\"first\":10}).edges.6","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers({\"first\":10}).edges.7","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers({\"first\":10}).edges.8","typename":"UserEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.followers({\"first\":10}).edges.9","typename":"UserEdge"}],"__typename":"UserConnection"},"$Tool:101231777149555129.followers({\"first\":10}).pageInfo":{"hasNextPage":true,"endCursor":"MTA","__typename":"PageInfo"},"User:109456225045711748":{"id":"109456225045711748","displayName":"Zsolt Mészárovics","username":"zsoltmeszarovics","imageUrl":"https://img.stackshare.io/user/1411167/default_3c168bc8b9050e3e9909699041cdb5002db09328.png","title":"","popularity":3,"path":"/zsoltmeszarovics","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231777149555129.followers({\"first\":10}).edges.0":{"node":{"type":"id","generated":false,"id":"User:109456225045711748","typename":"User"},"__typename":"UserEdge"},"User:109427466062113922":{"id":"109427466062113922","displayName":"Ronaldo Sc","username":"rsquim","imageUrl":"https://img.stackshare.io/user/1408160/default_b634c4202a59a782377ebe56821d5c9e1c0d8248.jpg","title":"","popularity":3,"path":"/rsquim","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231777149555129.followers({\"first\":10}).edges.1":{"node":{"type":"id","generated":false,"id":"User:109427466062113922","typename":"User"},"__typename":"UserEdge"},"User:109393824992227188":{"id":"109393824992227188","displayName":"adrianlukaszpacala","username":"adrianlukaszpacala","imageUrl":"https://img.stackshare.io/user/1404715/default_41dd34d54019f197c3477d9c3c0b5428280d3742.jpg","title":null,"popularity":0,"path":"/adrianlukaszpacala","stacksCount":0,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231777149555129.followers({\"first\":10}).edges.2":{"node":{"type":"id","generated":false,"id":"User:109393824992227188","typename":"User"},"__typename":"UserEdge"},"User:109364799211137496":{"id":"109364799211137496","displayName":"Mykhailo Romanenko","username":"mykhailoromanenko-1","imageUrl":"https://img.stackshare.io/user/1401727/default_eaf02ab5ff84cc42dc4180f436ffef59de8e4c97.png","title":"","popularity":3,"path":"/mykhailoromanenko-1","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231777149555129.followers({\"first\":10}).edges.3":{"node":{"type":"id","generated":false,"id":"User:109364799211137496","typename":"User"},"__typename":"UserEdge"},"User:109348100946567954":{"id":"109348100946567954","displayName":"Jose Luis Yabar Bastos","username":"jlyabar","imageUrl":"https://img.stackshare.io/user/1399361/default_83f20a615abac45b5ce3a9a1d4c70969589be419.jpg","title":"","popularity":0,"path":"/jlyabar","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231777149555129.followers({\"first\":10}).edges.4":{"node":{"type":"id","generated":false,"id":"User:109348100946567954","typename":"User"},"__typename":"UserEdge"},"User:109287223060415344":{"id":"109287223060415344","displayName":"Caio Wilson","username":"caiowilson","imageUrl":"https://img.stackshare.io/user/1392935/default_b8f4bc494b1c3a98faa4353f60c8171aa8b232eb.png","title":null,"popularity":0,"path":"/caiowilson","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231777149555129.followers({\"first\":10}).edges.5":{"node":{"type":"id","generated":false,"id":"User:109287223060415344","typename":"User"},"__typename":"UserEdge"},"User:109281663958748048":{"id":"109281663958748048","displayName":"theweekendgeek","username":"theweekendgeek","imageUrl":"https://img.stackshare.io/user/1392234/default_830f7a1877d3ebe9c47cf4787f62900917cd16f8.jpeg","title":null,"popularity":0,"path":"/theweekendgeek","stacksCount":0,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231777149555129.followers({\"first\":10}).edges.6":{"node":{"type":"id","generated":false,"id":"User:109281663958748048","typename":"User"},"__typename":"UserEdge"},"User:109279970787460983":{"id":"109279970787460983","displayName":"Mehroze Ali","username":"mehrozeeeeeeeee","imageUrl":"https://img.stackshare.io/user/1391931/default_3f924c0bc1a6119efb9a03ce68dfdcf32056638d.png","title":"","popularity":0,"path":"/mehrozeeeeeeeee","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231777149555129.followers({\"first\":10}).edges.7":{"node":{"type":"id","generated":false,"id":"User:109279970787460983","typename":"User"},"__typename":"UserEdge"},"User:109279934108005281":{"id":"109279934108005281","displayName":"iushev","username":"iushev","imageUrl":"https://img.stackshare.io/user/1391923/default_2b8fdd82a70a5dfeec4673f487115cbf60b63125.png","title":null,"popularity":3,"path":"/iushev","stacksCount":1,"favoritesCount":0,"votesCount":1,"__typename":"User"},"$Tool:101231777149555129.followers({\"first\":10}).edges.8":{"node":{"type":"id","generated":false,"id":"User:109279934108005281","typename":"User"},"__typename":"UserEdge"},"User:109272864632296946":{"id":"109272864632296946","displayName":"Innocent Kidubo","username":"kidubo","imageUrl":"https://img.stackshare.io/user/1390883/default_3a259017d51ee1809f66c29c3aad2de0005fa021.jpeg","title":"DevOps","popularity":3,"path":"/kidubo","stacksCount":1,"favoritesCount":0,"votesCount":0,"__typename":"User"},"$Tool:101231777149555129.followers({\"first\":10}).edges.9":{"node":{"type":"id","generated":false,"id":"User:109272864632296946","typename":"User"},"__typename":"UserEdge"},"$Tool:101231777149555129.userStacksUsing({\"first\":9})":{"count":330,"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231777149555129.userStacksUsing({\"first\":9}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.0","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.1","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.2","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.3","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.4","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.5","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.6","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.7","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.8","typename":"StackEdge"}],"__typename":"StackConnection"},"$Tool:101231777149555129.userStacksUsing({\"first\":9}).pageInfo":{"hasNextPage":true,"endCursor":"OQ","__typename":"PageInfo"},"Stack:101231784951576432":{"name":"Personal","imageUrl":"https://img.stackshare.io/stack/14843/default_74392a55778eae0af651b668ed37035a6c2c932a.png","thumbUrl":"https://img.stackshare.io/stack/14843/thumb_74392a55778eae0af651b668ed37035a6c2c932a.png","thumbRetinaUrl":"https://img.stackshare.io/stack/14843/thumb_retina_74392a55778eae0af651b668ed37035a6c2c932a.png","identifier":"yayajacky/personal","id":"101231784951576432","__typename":"Stack"},"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.0":{"node":{"type":"id","generated":false,"id":"Stack:101231784951576432","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231792668736792":{"name":"Personal skills","imageUrl":"https://img.stackshare.io/stack/30916/default_fe97bbd392216955844f75bed7551ce360ab9ba8.jpeg","thumbUrl":"https://img.stackshare.io/stack/30916/thumb_fe97bbd392216955844f75bed7551ce360ab9ba8.jpeg","thumbRetinaUrl":"https://img.stackshare.io/stack/30916/thumb_retina_fe97bbd392216955844f75bed7551ce360ab9ba8.jpeg","identifier":"ematipico/personal-skills","id":"101231792668736792","__typename":"Stack"},"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.1":{"node":{"type":"id","generated":false,"id":"Stack:101231792668736792","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231801809779814":{"name":"My Stack","imageUrl":"https://img.stackshare.io/stack/52325/default_a22f2adeed5546e7ddcacc28acad613a80561b9d.jpg","thumbUrl":"https://img.stackshare.io/stack/52325/thumb_a22f2adeed5546e7ddcacc28acad613a80561b9d.jpg","thumbRetinaUrl":"https://img.stackshare.io/stack/52325/thumb_retina_a22f2adeed5546e7ddcacc28acad613a80561b9d.jpg","identifier":"denisrudnei/my-stack","id":"101231801809779814","__typename":"Stack"},"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.2":{"node":{"type":"id","generated":false,"id":"Stack:101231801809779814","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231804679407284":{"name":"My Stack","imageUrl":"https://img.stackshare.io/stack/154611/default_1903e2802cb02a3d4500f8e72087bc24b9f132a1.jpeg","thumbUrl":"https://img.stackshare.io/stack/154611/thumb_1903e2802cb02a3d4500f8e72087bc24b9f132a1.jpeg","thumbRetinaUrl":"https://img.stackshare.io/stack/154611/thumb_retina_1903e2802cb02a3d4500f8e72087bc24b9f132a1.jpeg","identifier":"19majkel94/my-stack","id":"101231804679407284","__typename":"Stack"},"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.3":{"node":{"type":"id","generated":false,"id":"Stack:101231804679407284","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231811702564296":{"name":"My Stack","imageUrl":"https://img.stackshare.io/stack/312900/default_96b6200edbd0186a62f2f546ccb71c3c8abc9787.jpeg","thumbUrl":"https://img.stackshare.io/stack/312900/thumb_96b6200edbd0186a62f2f546ccb71c3c8abc9787.jpeg","thumbRetinaUrl":"https://img.stackshare.io/stack/312900/thumb_retina_96b6200edbd0186a62f2f546ccb71c3c8abc9787.jpeg","identifier":"shrewmus/my-stack","id":"101231811702564296","__typename":"Stack"},"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.4":{"node":{"type":"id","generated":false,"id":"Stack:101231811702564296","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231812360243571":{"name":"My Stack","imageUrl":"https://img.stackshare.io/stack/314356/default_f42d3d486ce16064404ea3a8ab4bf631662859f0.jpeg","thumbUrl":"https://img.stackshare.io/stack/314356/thumb_f42d3d486ce16064404ea3a8ab4bf631662859f0.jpeg","thumbRetinaUrl":"https://img.stackshare.io/stack/314356/thumb_retina_f42d3d486ce16064404ea3a8ab4bf631662859f0.jpeg","identifier":"indigomx9/my-stack","id":"101231812360243571","__typename":"Stack"},"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.5":{"node":{"type":"id","generated":false,"id":"Stack:101231812360243571","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231813910396794":{"name":"2021-05-17","imageUrl":"https://img.stackshare.io/stack/317453/default_8352da4a405e2e577020e04c31a484aeeddc3bbd.jpeg","thumbUrl":"https://img.stackshare.io/stack/317453/thumb_8352da4a405e2e577020e04c31a484aeeddc3bbd.jpeg","thumbRetinaUrl":"https://img.stackshare.io/stack/317453/thumb_retina_8352da4a405e2e577020e04c31a484aeeddc3bbd.jpeg","identifier":"siner308/2021-05-17","id":"101231813910396794","__typename":"Stack"},"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.6":{"node":{"type":"id","generated":false,"id":"Stack:101231813910396794","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231819018011419":{"name":"My Stack","imageUrl":"https://img.stackshare.io/stack/329931/default_d42a4d6f4952b60666249aac651e13f8ebd2cecd.jpeg","thumbUrl":"https://img.stackshare.io/stack/329931/thumb_d42a4d6f4952b60666249aac651e13f8ebd2cecd.jpeg","thumbRetinaUrl":"https://img.stackshare.io/stack/329931/thumb_retina_d42a4d6f4952b60666249aac651e13f8ebd2cecd.jpeg","identifier":"saystone/my-stack","id":"101231819018011419","__typename":"Stack"},"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.7":{"node":{"type":"id","generated":false,"id":"Stack:101231819018011419","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231820008919263":{"name":"Skills","imageUrl":"https://img.stackshare.io/stack/332512/default_6d8ab0bbbe7f19daf21f32483efbfaae6d696ccb.jpeg","thumbUrl":"https://img.stackshare.io/stack/332512/thumb_6d8ab0bbbe7f19daf21f32483efbfaae6d696ccb.jpeg","thumbRetinaUrl":"https://img.stackshare.io/stack/332512/thumb_retina_6d8ab0bbbe7f19daf21f32483efbfaae6d696ccb.jpeg","identifier":"rhogeranacleto/skills","id":"101231820008919263","__typename":"Stack"},"$Tool:101231777149555129.userStacksUsing({\"first\":9}).edges.8":{"node":{"type":"id","generated":false,"id":"Stack:101231820008919263","typename":"Stack"},"__typename":"StackEdge"},"Stackup:102363274912260861":{"id":"102363274912260861","path":"/stackups/sequelize-vs-typeorm","services":[{"type":"id","generated":false,"id":"Tool:101231774819836780","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"}],"__typename":"Stackup"},"$Tool:101231777149555129.relatedStackups({\"first\":6}).edges.0":{"node":{"type":"id","generated":false,"id":"Stackup:102363274912260861","typename":"Stackup"},"__typename":"StackupEdge"},"Stackup:102363274904471770":{"id":"102363274904471770","path":"/stackups/mongoose-vs-typeorm","services":[{"type":"id","generated":false,"id":"Tool:101231773951552081","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"}],"__typename":"Stackup"},"$Tool:101231777149555129.relatedStackups({\"first\":6}).edges.1":{"node":{"type":"id","generated":false,"id":"Stackup:102363274904471770","typename":"Stackup"},"__typename":"StackupEdge"},"Stackup:102363274897581585":{"id":"102363274897581585","path":"/stackups/loopback-vs-typeorm","services":[{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774559088350","typename":"Tool"}],"__typename":"Stackup"},"$Tool:101231777149555129.relatedStackups({\"first\":6}).edges.2":{"node":{"type":"id","generated":false,"id":"Stackup:102363274897581585","typename":"Stackup"},"__typename":"StackupEdge"},"Stackup:103999675560770103":{"id":"103999675560770103","path":"/stackups/prisma-vs-typeorm","services":[{"type":"id","generated":false,"id":"Tool:101231777783693321","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"}],"__typename":"Stackup"},"$Tool:101231777149555129.relatedStackups({\"first\":6}).edges.3":{"node":{"type":"id","generated":false,"id":"Stackup:103999675560770103","typename":"Stackup"},"__typename":"StackupEdge"},"Stackup:103999675577089104":{"id":"103999675577089104","path":"/stackups/mikroorm-vs-typeorm","services":[{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:103786578483151374","typename":"Tool"}],"__typename":"Stackup"},"$Tool:101231777149555129.relatedStackups({\"first\":6}).edges.4":{"node":{"type":"id","generated":false,"id":"Stackup:103999675577089104","typename":"Stackup"},"__typename":"StackupEdge"},"Stackup:103999675595194242":{"id":"103999675595194242","path":"/stackups/entity-framework-vs-typeorm","services":[{"type":"id","generated":false,"id":"Tool:101231774843614701","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"}],"__typename":"Stackup"},"Tool:101231774843614701":{"id":"101231774843614701","name":"Entity Framework","imageUrl":"https://img.stackshare.io/service/3251/no-img-open-source.png","thumbUrl":"https://img.stackshare.io/service/3251/thumb_no-img-open-source.png","__typename":"Tool"},"$Tool:101231777149555129.relatedStackups({\"first\":6}).edges.5":{"node":{"type":"id","generated":false,"id":"Stackup:103999675595194242","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231777149555129.relatedStackups({\"first\":6})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231777149555129.relatedStackups({\"first\":6}).edges.0","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.relatedStackups({\"first\":6}).edges.1","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.relatedStackups({\"first\":6}).edges.2","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.relatedStackups({\"first\":6}).edges.3","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.relatedStackups({\"first\":6}).edges.4","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.relatedStackups({\"first\":6}).edges.5","typename":"StackupEdge"}],"__typename":"StackupConnection"},"$Tool:101231777149555129.companyStacksUsing({\"first\":9})":{"count":85,"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.0","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.1","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.2","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.3","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.4","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.5","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.6","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.7","typename":"StackEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.8","typename":"StackEdge"}],"__typename":"StackConnection"},"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).pageInfo":{"hasNextPage":true,"endCursor":"OQ","__typename":"PageInfo"},"Stack:106856090140589734":{"name":"kevin.","imageUrl":"https://img.stackshare.io/stack/896322/default_b38e71b4aa56e90e0170547756674d34672fb55a.png","thumbUrl":"https://img.stackshare.io/stack/896322/thumb_b38e71b4aa56e90e0170547756674d34672fb55a.png","thumbRetinaUrl":"https://img.stackshare.io/stack/896322/thumb_retina_b38e71b4aa56e90e0170547756674d34672fb55a.png","identifier":"kevineu/kevin","id":"106856090140589734","__typename":"Stack"},"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.0":{"node":{"type":"id","generated":false,"id":"Stack:106856090140589734","typename":"Stack"},"__typename":"StackEdge"},"Stack:103022772014421844":{"name":"Oxylabs","imageUrl":"https://img.stackshare.io/stack/513971/default_6cc636c784eb21e14b41df1822888646055a929c.png","thumbUrl":"https://img.stackshare.io/stack/513971/thumb_6cc636c784eb21e14b41df1822888646055a929c.png","thumbRetinaUrl":"https://img.stackshare.io/stack/513971/thumb_retina_6cc636c784eb21e14b41df1822888646055a929c.png","identifier":"oxylabs/oxylabs","id":"103022772014421844","__typename":"Stack"},"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.1":{"node":{"type":"id","generated":false,"id":"Stack:103022772014421844","typename":"Stack"},"__typename":"StackEdge"},"Stack:101932384797504592":{"name":"Software Engineering","imageUrl":"https://img.stackshare.io/stack/366396/default_ee7df8232ba80a7b094feb105007fa2f58273f4d.png","thumbUrl":"https://img.stackshare.io/stack/366396/thumb_ee7df8232ba80a7b094feb105007fa2f58273f4d.png","thumbRetinaUrl":"https://img.stackshare.io/stack/366396/thumb_retina_ee7df8232ba80a7b094feb105007fa2f58273f4d.png","identifier":"loft/software-engineering","id":"101932384797504592","__typename":"Stack"},"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.2":{"node":{"type":"id","generated":false,"id":"Stack:101932384797504592","typename":"Stack"},"__typename":"StackEdge"},"Stack:101617734416873588":{"name":"caredoc","imageUrl":"https://img.stackshare.io/stack/358691/default_43e6ee57544a0c86104ab4827bd888d1cb6cf5cc.png","thumbUrl":"https://img.stackshare.io/stack/358691/thumb_43e6ee57544a0c86104ab4827bd888d1cb6cf5cc.png","thumbRetinaUrl":"https://img.stackshare.io/stack/358691/thumb_retina_43e6ee57544a0c86104ab4827bd888d1cb6cf5cc.png","identifier":"caredoc/caredoc","id":"101617734416873588","__typename":"Stack"},"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.3":{"node":{"type":"id","generated":false,"id":"Stack:101617734416873588","typename":"Stack"},"__typename":"StackEdge"},"Stack:103595664055538053":{"name":"energy2market","imageUrl":"https://img.stackshare.io/stack/543809/default_7bba20626d9404fb465834b4003477b9bce1e205.png","thumbUrl":"https://img.stackshare.io/stack/543809/thumb_7bba20626d9404fb465834b4003477b9bce1e205.png","thumbRetinaUrl":"https://img.stackshare.io/stack/543809/thumb_retina_7bba20626d9404fb465834b4003477b9bce1e205.png","identifier":"energy2market/energy2market","id":"103595664055538053","__typename":"Stack"},"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.4":{"node":{"type":"id","generated":false,"id":"Stack:103595664055538053","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231817811708286":{"name":"Chiper","imageUrl":"https://img.stackshare.io/stack/326943/default_82781e3bf0b6793fecd0d20278a5009538c25859.png","thumbUrl":"https://img.stackshare.io/stack/326943/thumb_82781e3bf0b6793fecd0d20278a5009538c25859.png","thumbRetinaUrl":"https://img.stackshare.io/stack/326943/thumb_retina_82781e3bf0b6793fecd0d20278a5009538c25859.png","identifier":"chiper/chiper","id":"101231817811708286","__typename":"Stack"},"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.5":{"node":{"type":"id","generated":false,"id":"Stack:101231817811708286","typename":"Stack"},"__typename":"StackEdge"},"Stack:104042529998046797":{"name":"qfl-stack","imageUrl":"https://img.stackshare.io/stack/619141/default_ceb3381d1399959d8e277dbf0e079537117b13b6.png","thumbUrl":"https://img.stackshare.io/stack/619141/thumb_ceb3381d1399959d8e277dbf0e079537117b13b6.png","thumbRetinaUrl":"https://img.stackshare.io/stack/619141/thumb_retina_ceb3381d1399959d8e277dbf0e079537117b13b6.png","identifier":"quantusflow-software-gmbh/qfl-stack","id":"104042529998046797","__typename":"Stack"},"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.6":{"node":{"type":"id","generated":false,"id":"Stack:104042529998046797","typename":"Stack"},"__typename":"StackEdge"},"Stack:101231788673646472":{"name":"airCloset","imageUrl":"https://img.stackshare.io/stack/23048/default_7a3eea7a864c5d4aff58335ed54596fd5ccbeea9.png","thumbUrl":"https://img.stackshare.io/stack/23048/thumb_7a3eea7a864c5d4aff58335ed54596fd5ccbeea9.png","thumbRetinaUrl":"https://img.stackshare.io/stack/23048/thumb_retina_7a3eea7a864c5d4aff58335ed54596fd5ccbeea9.png","identifier":"aircloset/aircloset","id":"101231788673646472","__typename":"Stack"},"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.7":{"node":{"type":"id","generated":false,"id":"Stack:101231788673646472","typename":"Stack"},"__typename":"StackEdge"},"Stack:103776194107378223":{"name":"Infrastructure","imageUrl":"https://img.stackshare.io/stack/568394/default_cab240ecf1a3bf291f9a265fe373b2a61c3426d0.jpg","thumbUrl":"https://img.stackshare.io/stack/568394/thumb_cab240ecf1a3bf291f9a265fe373b2a61c3426d0.jpg","thumbRetinaUrl":"https://img.stackshare.io/stack/568394/thumb_retina_cab240ecf1a3bf291f9a265fe373b2a61c3426d0.jpg","identifier":"akelius/infrastructure","id":"103776194107378223","__typename":"Stack"},"$Tool:101231777149555129.companyStacksUsing({\"first\":9}).edges.8":{"node":{"type":"id","generated":false,"id":"Stack:103776194107378223","typename":"Stack"},"__typename":"StackEdge"},"$Tool:101231777149555129.stackDecisions({\"first\":6})":{"count":4,"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231777149555129.stackDecisions({\"first\":6}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231777149555129.stackDecisions({\"first\":6}).edges.0","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.stackDecisions({\"first\":6}).edges.1","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.stackDecisions({\"first\":6}).edges.2","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231777149555129.stackDecisions({\"first\":6}).edges.3","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231777149555129.stackDecisions({\"first\":6}).pageInfo":{"hasNextPage":false,"endCursor":"NA","__typename":"PageInfo"},"User:102614213604584749":{"id":"102614213604584749","username":"objmj-itminds","title":"Senior Software Developer","companyName":"IT Minds","imageUrl":"https://img.stackshare.io/user/304074/default_f97d1d290c2b700f483db9cf3422c7c0ef1ac0ed.png","thumbUrl":"https://img.stackshare.io/user/304074/thumb_f97d1d290c2b700f483db9cf3422c7c0ef1ac0ed.png","displayName":"Martin Johannesson","__typename":"User"},"StackDecision:102614413651968242":{"user":{"type":"id","generated":false,"id":"User:102614213604584749","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:102614413651968242.company","typename":"Company"},"link":{"type":"id","generated":true,"id":"$StackDecision:102614413651968242.link","typename":"Link"},"publicId":"102614413651968242","id":"102614413651968242","htmlContent":"<p>At IT Minds we create customized internal or <span class=\"topic\">#B2B</span> web and mobile apps.\nI have a go to stack that I pitch to our customers consisting of 3 core areas.\n1) A data core <span class=\"topic\">#backend</span> .\n2) A micro <span class=\"topic\">#serverless</span> #backend.\n3) A user client #frontend.</p>\n\n<p>For the Data Core I create a backend using <span class=\"tool\">TypeScript</span> <span class=\"tool\">Node.js</span> and with <span class=\"tool\">TypeORM</span> connecting to a <span class=\"tool\">PostgreSQL</span> \nExposing an action based api with <span class=\"tool\">Apollo</span> <span class=\"tool\">GraphQL</span> </p>\n\n<p>For the micro serverless backend, which purpose is verification for authentication, autorization, logins and the likes.\nIt is created with <span class=\"tool\">Next.js</span> api pages. Using <span class=\"tool\">MongoDB</span> to store essential information, caching etc.</p>\n\n<p>Finally the frontend is built with <span class=\"tool\">React</span> using <span class=\"tool\">Next.js</span> , <span class=\"tool\">TypeScript</span> and @Apollo.\nWe create the frontend as a <span class=\"tool\">PWA</span> and have a <span class=\"tool\">AMP</span> landing page by default.</p>","viewCount":571382,"publishedAt":"2019-08-14T08:34:49Z","upvotesCount":14,"services":[{"type":"id","generated":false,"id":"Tool:101231774098455524","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773845103618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773853533403","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776161934711","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775212866992","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776411419473","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773854388643","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776785845663","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776433245869","typename":"Tool"}],"topics":[{"type":"id","generated":false,"id":"Topic:101777457607861763","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101231988901054690","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101231988860833239","typename":"Topic"}],"__typename":"StackDecision"},"$StackDecision:102614413651968242.company":{"imageUrl":"https://img.stackshare.io/company/23579/default_d00d0589d3279df1ba5453ba947c5a1315bded9b.png","thumbUrl":"https://img.stackshare.io/company/23579/thumb_d00d0589d3279df1ba5453ba947c5a1315bded9b.png","name":"IT Minds","path":"/companies/it-minds","features":[],"__typename":"Company"},"$StackDecision:102614413651968242.link":{"url":"https://dev.to/itminds/the-leading-web-stack-of-an-it-minds-senior-developer-45mb","title":"The Leading Web stack of an IT Minds Senior Developer. - DEV Community 👩‍💻👨‍💻","__typename":"Link"},"Tool:101231774098455524":{"name":"TypeScript","path":"/typescript","id":"101231774098455524","imageUrl":"https://img.stackshare.io/service/1612/bynNY5dJ.jpg","thumbUrl":"https://img.stackshare.io/service/1612/thumb_bynNY5dJ.jpg","stacks":74405,"fans":67049,"votes":473,"following":false,"__typename":"Tool"},"Tool:101231773845103618":{"name":"Node.js","path":"/nodejs","id":"101231773845103618","imageUrl":"https://img.stackshare.io/service/1011/n1JRsFeB_400x400.png","thumbUrl":"https://img.stackshare.io/service/1011/thumb_n1JRsFeB_400x400.png","stacks":159698,"fans":154905,"votes":8511,"following":false,"__typename":"Tool"},"Tool:101231773853533403":{"name":"PostgreSQL","path":"/postgresql","id":"101231773853533403","imageUrl":"https://img.stackshare.io/service/1028/ASOhU5xJ.png","thumbUrl":"https://img.stackshare.io/service/1028/thumb_ASOhU5xJ.png","stacks":83715,"fans":80018,"votes":3467,"following":false,"__typename":"Tool"},"Tool:101231776161934711":{"name":"Apollo","path":"/apollo","id":"101231776161934711","imageUrl":"https://img.stackshare.io/service/5508/CyUH653y.png","thumbUrl":"https://img.stackshare.io/service/5508/thumb_CyUH653y.png","stacks":2246,"fans":2219,"votes":22,"following":false,"__typename":"Tool"},"Tool:101231775212866992":{"name":"GraphQL","path":"/graphql","id":"101231775212866992","imageUrl":"https://img.stackshare.io/service/3820/12972006.png","thumbUrl":"https://img.stackshare.io/service/3820/thumb_12972006.png","stacks":28737,"fans":28750,"votes":299,"following":false,"__typename":"Tool"},"Tool:101231776411419473":{"name":"Next.js","path":"/next-js","id":"101231776411419473","imageUrl":"https://img.stackshare.io/service/5936/nextjs.png","thumbUrl":"https://img.stackshare.io/service/5936/thumb_nextjs.png","stacks":4329,"fans":4722,"votes":284,"following":false,"__typename":"Tool"},"Tool:101231773854388643":{"name":"MongoDB","path":"/mongodb","id":"101231773854388643","imageUrl":"https://img.stackshare.io/service/1030/leaf-360x360.png","thumbUrl":"https://img.stackshare.io/service/1030/thumb_leaf-360x360.png","stacks":80325,"fans":80362,"votes":4130,"following":false,"__typename":"Tool"},"Tool:101231773849098825":{"name":"React","path":"/react","id":"101231773849098825","imageUrl":"https://img.stackshare.io/service/1020/OYIaJ1KK.png","thumbUrl":"https://img.stackshare.io/service/1020/thumb_OYIaJ1KK.png","stacks":143420,"fans":136321,"votes":3950,"following":false,"__typename":"Tool"},"Tool:101231776785845663":{"name":"PWA","path":"/pwa","id":"101231776785845663","imageUrl":"https://img.stackshare.io/service/6658/PSpUS-Hp_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/6658/thumb_PSpUS-Hp_400x400.jpg","stacks":35,"fans":24,"votes":0,"following":false,"__typename":"Tool"},"Tool:101231776433245869":{"name":"AMP","path":"/amp","id":"101231776433245869","imageUrl":"https://img.stackshare.io/service/6006/amp.jpg","thumbUrl":"https://img.stackshare.io/service/6006/thumb_amp.jpg","stacks":71,"fans":73,"votes":0,"following":false,"__typename":"Tool"},"Topic:101777457607861763":{"name":"B2B","id":"101777457607861763","__typename":"Topic"},"Topic:101231988901054690":{"name":"Backend","id":"101231988901054690","__typename":"Topic"},"Topic:101231988860833239":{"name":"Serverless","id":"101231988860833239","__typename":"Topic"},"$Tool:101231777149555129.stackDecisions({\"first\":6}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:102614413651968242","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:104042388677869390":{"id":"104042388677869390","username":"zimoony","title":"Senior Fullstack Developer","companyName":"QUANTUSflow Software GmbH","imageUrl":"https://img.stackshare.io/user/535402/default_002baf8a5098e7badd949774288e37e836a64e0f.jpeg","thumbUrl":"https://img.stackshare.io/user/535402/thumb_002baf8a5098e7badd949774288e37e836a64e0f.jpeg","displayName":"Simon Reymann","__typename":"User"},"StackDecision:104048439203281692":{"user":{"type":"id","generated":false,"id":"User:104042388677869390","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:104048439203281692.company","typename":"Company"},"link":null,"publicId":"104048439203281692","id":"104048439203281692","htmlContent":"<p>Our whole <span class=\"tool\">Node.js</span> backend stack consists of the following tools:</p>\n\n<ul>\n<li><span class=\"tool\">Lerna</span> as a tool for multi package and multi repository management</li>\n<li><span class=\"tool\">npm</span> as package manager</li>\n<li><span class=\"tool\">NestJS</span> as <span class=\"tool\">Node.js</span> framework</li>\n<li><span class=\"tool\">TypeScript</span> as programming language</li>\n<li><span class=\"tool\">ExpressJS</span> as web server</li>\n<li><span class=\"tool\">Swagger UI</span> for visualizing and interacting with the API’s resources</li>\n<li><span class=\"tool\">Postman</span> as a tool for API development</li>\n<li><span class=\"tool\">TypeORM</span> as object relational mapping layer</li>\n<li><span class=\"tool\">JSON Web Token</span> for access token management</li>\n</ul>\n\n<p>The main reason we have chosen <span class=\"tool\">Node.js</span> over <span class=\"tool\">PHP</span> is related to the following artifacts:</p>\n\n<ul>\n<li>\n<strong>Made for the web and widely in use:</strong> <span class=\"tool\">Node.js</span> is a software platform for developing server-side network services. Well-known projects that rely on <span class=\"tool\">Node.js</span> include the blogging software Ghost, the project management tool Trello and the operating system WebOS. <span class=\"tool\">Node.js</span> requires the <span class=\"tool\">JavaScript</span> runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies <span class=\"tool\">Node.js</span> especially for the operation of a web server. Ryan Dahl, the developer of <span class=\"tool\">Node.js</span>, released the first stable version on May 27, 2009. He developed <span class=\"tool\">Node.js</span> out of dissatisfaction with the possibilities that <span class=\"tool\">JavaScript</span> offered at the time. The basic functionality of <span class=\"tool\">Node.js</span> has been mapped with <span class=\"tool\">JavaScript</span> since the first version, which can be expanded with a large number of different modules. The current package managers (<span class=\"tool\">npm</span> or <span class=\"tool\">Yarn</span>) for <span class=\"tool\">Node.js</span> know more than 1,000,000 of these modules.</li>\n<li>\n<strong>Fast server-side solutions:</strong> <span class=\"tool\">Node.js</span> adopts the JavaScript \"event-loop\" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within <span class=\"tool\">JavaScript</span>/<span class=\"tool\">TypeScript</span>, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.</li>\n<li>\n<strong>A language along the entire stack:</strong> Widely used frameworks such as <span class=\"tool\">React</span> or <span class=\"tool\">AngularJS</span> or <span class=\"tool\">Vue.js</span>, which we prefer, are written in <span class=\"tool\">JavaScript</span>/<span class=\"tool\">TypeScript</span>. If <span class=\"tool\">Node.js</span> is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.</li>\n<li>\n<strong>Flexibility:</strong> <span class=\"tool\">Node.js</span> sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.</li>\n</ul>","viewCount":3156008,"publishedAt":"2020-04-23T14:46:25Z","upvotesCount":26,"services":[{"type":"id","generated":false,"id":"Tool:101231773990286939","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775222204089","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773848354670","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776364087566","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773939333405","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773836410122","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776654235080","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774972950443","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773920953695","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774098455524","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777826864518","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773895058604","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776543564264","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773845103618","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$StackDecision:104048439203281692.company":{"imageUrl":"https://img.stackshare.io/company/161697/default_08547f3b95ad3a1f312db050bc6e0a5460ff1969.png","thumbUrl":"https://img.stackshare.io/company/161697/thumb_08547f3b95ad3a1f312db050bc6e0a5460ff1969.png","name":"QUANTUSflow Software GmbH","path":"/companies/quantusflow-software-gmbh","features":[],"__typename":"Company"},"Tool:101231773990286939":{"name":"Postman","path":"/postman","id":"101231773990286939","imageUrl":"https://img.stackshare.io/service/1336/xWMRvm_5_400x400.png","thumbUrl":"https://img.stackshare.io/service/1336/thumb_xWMRvm_5_400x400.png","stacks":80462,"fans":79930,"votes":1760,"following":false,"__typename":"Tool"},"Tool:101231775222204089":{"name":"Vue.js","path":"/vue-js","id":"101231775222204089","imageUrl":"https://img.stackshare.io/service/3837/paeckCWC.png","thumbUrl":"https://img.stackshare.io/service/3837/thumb_paeckCWC.png","stacks":46964,"fans":45441,"votes":1500,"following":false,"__typename":"Tool"},"Tool:101231773848354670":{"name":"AngularJS","path":"/angularjs","id":"101231773848354670","imageUrl":"https://img.stackshare.io/service/1019/square.png","thumbUrl":"https://img.stackshare.io/service/1019/thumb_square.png","stacks":56653,"fans":50047,"votes":5234,"following":false,"__typename":"Tool"},"Tool:101231776364087566":{"name":"Yarn","path":"/yarn","id":"101231776364087566","imageUrl":"https://img.stackshare.io/service/5848/44mC-kJ3.jpg","thumbUrl":"https://img.stackshare.io/service/5848/thumb_44mC-kJ3.jpg","stacks":18158,"fans":14760,"votes":143,"following":false,"__typename":"Tool"},"Tool:101231773939333405":{"name":"JavaScript","path":"/javascript","id":"101231773939333405","imageUrl":"https://img.stackshare.io/service/1209/javascript.jpeg","thumbUrl":"https://img.stackshare.io/service/1209/thumb_javascript.jpeg","stacks":283096,"fans":262222,"votes":7913,"following":false,"__typename":"Tool"},"Tool:101231773836410122":{"name":"PHP","path":"/php","id":"101231773836410122","imageUrl":"https://img.stackshare.io/service/991/hwUcGZ41_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/991/thumb_hwUcGZ41_400x400.jpg","stacks":127697,"fans":82813,"votes":4576,"following":false,"__typename":"Tool"},"Tool:101231776654235080":{"name":"JSON Web Token","path":"/json-web-token","id":"101231776654235080","imageUrl":"https://img.stackshare.io/service/6417/jwt-icon.png","thumbUrl":"https://img.stackshare.io/service/6417/thumb_jwt-icon.png","stacks":1522,"fans":480,"votes":0,"following":false,"__typename":"Tool"},"Tool:101231774972950443":{"name":"Swagger UI","path":"/swagger-ui","id":"101231774972950443","imageUrl":"https://img.stackshare.io/service/3417/pIea9Ji0.png","thumbUrl":"https://img.stackshare.io/service/3417/thumb_pIea9Ji0.png","stacks":2018,"fans":2286,"votes":205,"following":false,"__typename":"Tool"},"Tool:101231773920953695":{"name":"ExpressJS","path":"/expressjs","id":"101231773920953695","imageUrl":"https://img.stackshare.io/service/1163/hashtag.png","thumbUrl":"https://img.stackshare.io/service/1163/thumb_hashtag.png","stacks":26508,"fans":24723,"votes":1591,"following":false,"__typename":"Tool"},"Tool:101231777826864518":{"name":"NestJS","path":"/nestjs","id":"101231777826864518","imageUrl":"https://img.stackshare.io/service/8747/4zsOyxko_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/8747/thumb_4zsOyxko_400x400.jpg","stacks":1950,"fans":2967,"votes":291,"following":false,"__typename":"Tool"},"Tool:101231773895058604":{"name":"npm","path":"/npm","id":"101231773895058604","imageUrl":"https://img.stackshare.io/service/1120/lejvzrnlpb308aftn31u.png","thumbUrl":"https://img.stackshare.io/package_manager/1120/thumb_lejvzrnlpb308aftn31u.png","stacks":86457,"fans":81891,"votes":1633,"following":false,"__typename":"Tool"},"Tool:101231776543564264":{"name":"Lerna","path":"/lerna","id":"101231776543564264","imageUrl":"https://img.stackshare.io/service/6207/OwqAUSQi_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/6207/thumb_OwqAUSQi_400x400.jpg","stacks":525,"fans":252,"votes":0,"following":false,"__typename":"Tool"},"$Tool:101231777149555129.stackDecisions({\"first\":6}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:104048439203281692","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:105120118092052061":{"id":"105120118092052061","username":"js3490","title":"","companyName":"","imageUrl":"https://img.stackshare.io/user/778757/default_8f5626a2dbab9668ee33d348a2505ed52a079a1e.jpg","thumbUrl":"https://img.stackshare.io/user/778757/thumb_8f5626a2dbab9668ee33d348a2505ed52a079a1e.jpg","displayName":"Joshua Snyder","__typename":"User"},"StackDecision:105254849106771272":{"user":{"type":"id","generated":false,"id":"User:105120118092052061","typename":"User"},"company":null,"link":null,"publicId":"105254849106771272","id":"105254849106771272","htmlContent":"<p>I am trying to figure out how to spin up effective <span class=\"tool\">React</span> apps as fast as possible. I have loved my experience with using <span class=\"tool\">Next.js</span> so far and have been using Next-Auth as an authentication process.</p>\n\n<p>So far, I have used <span class=\"tool\">Django</span> on the backend, but it looks like I can speed things up by ditching the backend and going serverless with the Next.js API routes. That means I am left with a database solution to figure out. Does anyone have experience using <span class=\"tool\">Firebase</span> together with React, or alternatively using <span class=\"tool\">TypeORM</span> with a <span class=\"tool\">PostgreSQL</span> database?</p>\n\n<p>I am valuing ease of development in this decision.</p>","viewCount":47121,"publishedAt":"2020-11-22T16:12:20Z","upvotesCount":7,"services":[{"type":"id","generated":false,"id":"Tool:101231773853533403","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773837565192","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776411419473","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231773461393493":{"name":"Firebase","path":"/firebase","id":"101231773461393493","imageUrl":"https://img.stackshare.io/service/116/cZLxNFZS.jpg","thumbUrl":"https://img.stackshare.io/service/116/thumb_cZLxNFZS.jpg","stacks":35217,"fans":35748,"votes":1945,"following":false,"__typename":"Tool"},"Tool:101231773837565192":{"name":"Django","path":"/django","id":"101231773837565192","imageUrl":"https://img.stackshare.io/service/994/4aGjtNQv.png","thumbUrl":"https://img.stackshare.io/service/994/thumb_4aGjtNQv.png","stacks":32653,"fans":34303,"votes":4006,"following":false,"__typename":"Tool"},"$Tool:101231777149555129.stackDecisions({\"first\":6}).edges.2":{"node":{"type":"id","generated":false,"id":"StackDecision:105254849106771272","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:104460895955799446":{"id":"104460895955799446","username":"Jiedevm","title":"Junior Fullstack Developer","companyName":"","imageUrl":"https://img.stackshare.io/user/653343/default_15a2c38fcca8e64e586a4aa92ab349898000a03a.png","thumbUrl":"https://img.stackshare.io/user/653343/thumb_15a2c38fcca8e64e586a4aa92ab349898000a03a.png","displayName":"Dieudonné ALLOGNON","__typename":"User"},"StackDecision:106136773108219115":{"user":{"type":"id","generated":false,"id":"User:104460895955799446","typename":"User"},"company":null,"link":null,"publicId":"106136773108219115","id":"106136773108219115","htmlContent":"<p>Hey!\nI am actually in internship and have an app to create for my structure. It will be an intern app which will allow crud dashboard actions with some data provided by the use of an API of one of the structure partner and make a correspondence to data contained in a private database.\nSince it's an intern app, I thought about <span class=\"tool\">Electron</span> for a desktop app because I did a lot of web with <span class=\"tool\">Laravel</span> and the structure goes more for the desktop app. But it will be my first occasion working with this tech.</p>\n\n<p>Is Electron a good choice?\nWich ORM should be more complete and adapted to this between <span class=\"tool\">Sequelize</span> and <span class=\"tool\">TypeORM</span>? (Database will be <span class=\"tool\">MySQL</span>)\nSome charts will be displayed in the app. Is there a library (preferably without <span class=\"tool\">jQuery</span>) that suits this stack?</p>\n\n<p>Thank you !</p>","viewCount":165699,"publishedAt":"2021-04-27T10:17:12Z","upvotesCount":5,"services":[{"type":"id","generated":false,"id":"Tool:101231773849559490","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773851859414","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777149555129","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774819836780","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773836807964","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774678060123","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231773849559490":{"name":"jQuery","path":"/jquery","id":"101231773849559490","imageUrl":"https://img.stackshare.io/service/1021/lxEKmMnB_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/1021/thumb_lxEKmMnB_400x400.jpg","stacks":180865,"fans":72496,"votes":6552,"following":false,"__typename":"Tool"},"Tool:101231773851859414":{"name":"MySQL","path":"/mysql","id":"101231773851859414","imageUrl":"https://img.stackshare.io/service/1025/logo-mysql-170x170.png","thumbUrl":"https://img.stackshare.io/service/1025/thumb_logo-mysql-170x170.png","stacks":106564,"fans":103805,"votes":3729,"following":false,"__typename":"Tool"},"Tool:101231773836807964":{"name":"Laravel","path":"/laravel","id":"101231773836807964","imageUrl":"https://img.stackshare.io/service/992/AcA2LnWL_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/992/thumb_AcA2LnWL_400x400.jpg","stacks":24366,"fans":23576,"votes":3676,"following":false,"__typename":"Tool"},"Tool:101231774678060123":{"name":"Electron","path":"/electron","id":"101231774678060123","imageUrl":"https://img.stackshare.io/service/2946/default_18a71b65e69d7aef5f218ae07f64eb6e1594c444.jpg","thumbUrl":"https://img.stackshare.io/service/2946/thumb_18a71b65e69d7aef5f218ae07f64eb6e1594c444.jpg","stacks":9586,"fans":10646,"votes":140,"following":false,"__typename":"Tool"},"$Tool:101231777149555129.stackDecisions({\"first\":6}).edges.3":{"node":{"type":"id","generated":false,"id":"StackDecision:106136773108219115","typename":"StackDecision"},"__typename":"StackDecisionEdge"}}</script> <!-- glamorIds: 123 --> <script type="application/json" id="ToolProfile-glamor-884e4c4f-bb05-48b0-a0db-74dda52e5b30">["1htug8r","1yodi52","iepywa","x5hg3h","u0iaox","9ilv8v","mgyi0p","ii8qy4","f3khu","1ag7ge9","ld8qhm","11b98zt","12i35kv","1mjw833","a5x1lt","1m5j888","4bpmfq","1pvkxrw","1cylxxa","1g92dqh","ey1s1s","1cs0rzs","1j0qgmo","kxs423","eemya1","3dgua6","1guve57","11ovrkw","yawzxl","1aswmtz","qrny8b","1176rj6","emqxrc","zkwjas","z9c3fl","1gs0ko2","1t7lufe","1nbl3qb","i52n91","13sfqhu","nuwf1p","1j3tdba","4d5oui","10pc7td","1ukyolz","1uackhz","1ofkegx","1xexurq","5vbspm","12llqor","81jah4","69zjs9","8a04gk","1m38k02","162qu2y","p797gu","jyk0kg","4hck59","1drwozb","gbti5j","1ahj942","1an0suy","1dgfc7p","14pk3xx","1o4togz","dj0mxl","12257h","2fctj6","npxw5s","5f34wd","np1rfd","l6etxv","1i8b05s","1iqua1m","13zfms0","1rmabp8","1346slw","2blcgu","4vocyb","pdrhqn","c3yizi","f7loz8","fisw11","1nho65o","1ugm2nv","pvufaf","4gnhqq","uw1ldh","xkasvz","atv6j6","1m8tyev","1vf0ygt","utnqcw","ds0hbm","dg4ww9","z9ms26","1pwtf47","t68yd0","1rz3855","i6njnm","6uh2e7","1j2w1cg","1b2ktnx","1dp4k20","ztg526","1srb7t4","1mlbi0l","1cda8k4","2an9kq","5x5cr6","rsz8c","6pc9xu","bjhznw","13nf4of","xd3exe","1pwfust","960s6h","1n4juvm","ubfqf7","h9makx","1pexnsy","1etrjfj","x5yd3w"]</script> <style>@-webkit-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-moz-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-o-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-webkit-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-moz-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-o-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-webkit-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-moz-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-o-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-webkit-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-moz-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-o-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-webkit-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-moz-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-o-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-webkit-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-moz-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-o-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}.css-mgyi0p,[data-css-mgyi0p]{width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;flex-direction:column;margin-bottom:50px;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-ii8qy4,[data-css-ii8qy4]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;width:1140px;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-f3khu,[data-css-f3khu]{margin:10px 0;}.css-1ag7ge9,[data-css-1ag7ge9]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-wrap:wrap;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}@media only screen and (max-width: 812px){.css-1ag7ge9 > a,[data-css-1ag7ge9] > a{text-align:center;}}.css-ld8qhm,[data-css-ld8qhm]{text-decoration:none;cursor:pointer;color:#c2c2c2;}.css-ld8qhm:hover,[data-css-ld8qhm]:hover{color:#068dfe;}.css-11b98zt,[data-css-11b98zt]{color:#c2c2c2;margin:0 5px 0 5px;}.css-11b98zt::after,[data-css-11b98zt]::after{content:"/";}.css-12i35kv,[data-css-12i35kv]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;margin:10px 0 10px 0;-webkit-box-pack:justify;-webkit-justify-content:space-between;}@media only screen and (max-width: 480px){.css-12i35kv,[data-css-12i35kv]{align-items:center;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}}.css-1mjw833,[data-css-1mjw833]{max-width:100%;}.css-a5x1lt,[data-css-a5x1lt]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 480px){.css-a5x1lt,[data-css-a5x1lt]{flex-direction:column;margin-bottom:15px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}}.css-1m5j888,[data-css-1m5j888]{height:110px;width:110px;margin-right:25px;margin-bottom:10px;border-radius:4px;border:1px solid #e1e1e1;}@media only screen and (max-width: 480px){.css-1m5j888,[data-css-1m5j888]{margin-right:0;height:70px;width:70px;}}.css-4bpmfq,[data-css-4bpmfq]{width:100%;max-width:500px;}@media only screen and (max-width: 480px){.css-4bpmfq,[data-css-4bpmfq]{text-align:center;}}.css-1pvkxrw,[data-css-1pvkxrw]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1pvkxrw .fork,[data-css-1pvkxrw] .fork{margin-top:5px;}@media only screen and (max-width: 480px){.css-1pvkxrw,[data-css-1pvkxrw]{justify-content:center;-webkit-box-pack:center;-webkit-justify-content:center;}}.css-1cylxxa,[data-css-1cylxxa]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:25px;line-height:1;letter-spacing:normal;-webkit-font-smoothing:antialiased;padding:0;margin:0;color:#333;}.css-1g92dqh,[data-css-1g92dqh]{color:#707070;padding:5px 0;}.css-ey1s1s,[data-css-ey1s1s]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:16px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;}.css-1cs0rzs,[data-css-1cs0rzs]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:flex-start;width:450px;-webkit-box-align:start;-webkit-align-items:flex-start;}@media only screen and (max-width: 480px){.css-1cs0rzs,[data-css-1cs0rzs]{width:100%;}}.css-1j0qgmo,[data-css-1j0qgmo]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:flex-start;width:100%;justify-content:space-between;-webkit-box-align:start;-webkit-align-items:flex-start;-webkit-box-pack:justify;-webkit-justify-content:space-between;}@media only screen and (max-width: 480px){.css-1j0qgmo,[data-css-1j0qgmo]{flex-wrap:wrap;width:100%;justify-content:center;margin:0 auto;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;-webkit-box-pack:center;-webkit-justify-content:center;}}.css-kxs423,[data-css-kxs423]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:flex-start;padding:0 8px 0 24px;margin:5px 8px 0 0;flex-direction:column;border-left:1px solid #e1e1e1;gap:9px;-webkit-box-align:start;-webkit-align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-kxs423 a,[data-css-kxs423] a, .css-kxs423 span, [data-css-kxs423] span{padding-right:8px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-wrap:nowrap;flex:2;align-items:center;-webkit-box-lines:nowrap;-webkit-flex-wrap:nowrap;-webkit-flex:2;-webkit-box-align:center;-webkit-align-items:center;}.css-kxs423 a div,[data-css-kxs423] a div, .css-kxs423 span div, [data-css-kxs423] span div{text-align:initial;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.css-kxs423 div > span,[data-css-kxs423] div > span{width:90px;}.css-kxs423 a,[data-css-kxs423] a{text-decoration:none;}.css-kxs423 svg,[data-css-kxs423] svg{margin-right:8px;position:relative;top:2px;width:14px;height:14px;}.css-kxs423 a:first-child > svg,[data-css-kxs423] a:first-child > svg{margin-left:0;}.css-kxs423 a:nth-last-child(2),[data-css-kxs423] a:nth-last-child(2), .css-kxs423 span:nth-last-child(2), [data-css-kxs423] span:nth-last-child(2){padding-right:0;}@media only screen and (max-width: 480px){.css-kxs423,[data-css-kxs423]{width:100%;padding-right:0;display:grid;grid-template-columns:48% 48%;grid-gap:11px;-ms-grid-template-columns:48% 48%;-ms-grid-gap:11px;}.css-kxs423 a,[data-css-kxs423] a, .css-kxs423 span, [data-css-kxs423] span{padding-right:0;}.css-kxs423 a,[data-css-kxs423] a{height:40px;border:1px solid #dedede;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;}.css-kxs423 svg,[data-css-kxs423] svg{margin-left:0;}.css-kxs423 a:nth-last-child(2),[data-css-kxs423] a:nth-last-child(2), .css-kxs423 span:nth-last-child(2), [data-css-kxs423] span:nth-last-child(2){padding-right:0;}.css-kxs423 a:nth-last-child(2),[data-css-kxs423] a:nth-last-child(2){border-right:1px solid #dedede;}}.css-eemya1,[data-css-eemya1]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:12px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#008FF9;}.css-eemya1 a,[data-css-eemya1] a, .css-eemya1 a:hover, [data-css-eemya1] a:hover, .css-eemya1 a:visited, [data-css-eemya1] a:visited{color:#707070;text-decoration:none;}.css-3dgua6,[data-css-3dgua6]{display:none;}@media only screen and (max-width: 480px){.css-3dgua6,[data-css-3dgua6]{display:block;}}.css-1guve57,[data-css-1guve57]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;}@media only screen and (max-width: 480px){.css-1guve57,[data-css-1guve57]{display:none;}}.css-11ovrkw,[data-css-11ovrkw]{width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;border-bottom:2px solid #e1e1e1;position:-webkit-sticky; position: sticky;top:0;z-index:100;-webkit-box-pack:center;-webkit-justify-content:center;}.css-yawzxl,[data-css-yawzxl]{width:1140px;}.css-1aswmtz,[data-css-1aswmtz]{height:95px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;position:-webkit-sticky; position: sticky;top:0;background-color:#fff;width:100%;z-index:100;}.css-qrny8b,[data-css-qrny8b]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;width:100%;margin:0 auto;-webkit-box-pack:justify;-webkit-justify-content:space-between;}.css-1176rj6,[data-css-1176rj6]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;margin:15px 0 0 0;}.css-1176rj6 > a:last-of-type,[data-css-1176rj6] > a:last-of-type{margin-right:0;}.css-emqxrc,[data-css-emqxrc]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;text-decoration:none;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;flex-direction:column;margin-right:10px;margin-left:10px;margin-bottom:-2px;border-bottom:2px solid transparent;width:82px;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-emqxrc > svg,[data-css-emqxrc] > svg{height:34px;}.css-emqxrc:hover,[data-css-emqxrc]:hover{color:#068dfe;border-color:#068dfe;}.css-emqxrc:hover svg path,[data-css-emqxrc]:hover svg path{fill:#068dfe;stroke:#068dfe;}.css-emqxrc:focus,[data-css-emqxrc]:focus{color:#068dfe;border-color:#068dfe;}.css-emqxrc:focus svg path,[data-css-emqxrc]:focus svg path{fill:#068dfe;stroke:#068dfe;}.css-zkwjas,[data-css-zkwjas]{margin-top:4px;font-size:14px;}.css-zkwjas>span,[data-css-zkwjas]>span{margin-left:0;}.css-z9c3fl,[data-css-z9c3fl]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;position:relative;}.css-1gs0ko2,[data-css-1gs0ko2]{flex-grow:1;-webkit-flex-grow:1;}.css-1t7lufe,[data-css-1t7lufe]{margin:25px 0;display:block;}.css-1nbl3qb,[data-css-1nbl3qb]{margin-bottom:40px;}.css-i52n91,[data-css-i52n91]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:18px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#333;margin:0;}.css-13sfqhu,[data-css-13sfqhu]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.69;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin-top:8px;color:#707070;}.css-nuwf1p,[data-css-nuwf1p]{margin:30px 0;}.css-1j3tdba,[data-css-1j3tdba]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#a1a1a1;text-transform:uppercase;}.css-4d5oui,[data-css-4d5oui]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-4d5oui strong,[data-css-4d5oui] strong{color:#333;}@media only screen and (max-width: 480px){.css-4d5oui,[data-css-4d5oui]{padding:10px;}}.css-10pc7td,[data-css-10pc7td]{display:grid;grid-template-columns:150px auto;grid-row-gap:20px;margin-bottom:20px;margin-top:20px;-ms-grid-template-columns:150px auto;-ms-grid-row-gap:20px;}@media only screen and (max-width: 480px){.css-10pc7td,[data-css-10pc7td]{grid-template-columns:100px auto;-ms-grid-template-columns:100px auto;}}.css-1ukyolz,[data-css-1ukyolz]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:22px;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;}.css-1uackhz,[data-css-1uackhz]{font-weight:600;}.css-1ofkegx,[data-css-1ofkegx]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:22px;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;padding-left:10px;}.css-1xexurq,[data-css-1xexurq]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;text-decoration:none;color:#068dfe;margin-top:10px;}.css-5vbspm,[data-css-5vbspm]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;margin-top:25px;min-width:280px;}.css-12llqor,[data-css-12llqor]{width:260px;margin-left:20px;margin-bottom:25px;}.css-81jah4,[data-css-81jah4]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;margin:50px 0;-webkit-box-pack:center;-webkit-justify-content:center;}.css-69zjs9,[data-css-69zjs9]{background:#f7f7f7;width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;padding-top:68px;padding-bottom:68px;-webkit-box-pack:center;-webkit-justify-content:center;}@media only screen and (max-width: 812px){.css-69zjs9,[data-css-69zjs9]{padding-top:30px;padding-bottom:50px;}}.css-8a04gk,[data-css-8a04gk]{width:1140px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;padding-left:20px;padding-right:20px;-webkit-box-pack:justify;-webkit-justify-content:space-between;}@media only screen and (max-width: 812px){.css-8a04gk,[data-css-8a04gk]{flex-direction:column;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;}}.css-1m38k02,[data-css-1m38k02]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#333;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}@media only screen and (max-width: 812px){.css-1m38k02,[data-css-1m38k02]{text-align:center;}}.css-162qu2y,[data-css-162qu2y]{font-size:20px;font-weight:600;letter-spacing:0.4px;}.css-p797gu,[data-css-p797gu]{font-size:13px;line-height:2.07;letter-spacing:0.3px;text-decoration:none;color:#333;}.css-p797gu:hover,[data-css-p797gu]:hover{color:#068dfe;}@media only screen and (max-width: 768px){.css-p797gu,[data-css-p797gu]{font-size:14px;}}.css-jyk0kg,[data-css-jyk0kg]{position:relative;width:260px;height:100%;padding-top:30px;}.css-jyk0kg > div,[data-css-jyk0kg] > div{position:absolute;bottom:0;right:0;width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-flow:column nowrap;justify-content:flex-end;align-items:stretch;margin-bottom:20px;-webkit-flex-flow:column nowrap;-webkit-box-pack:end;-webkit-justify-content:flex-end;-webkit-box-align:stretch;-webkit-align-items:stretch;}.css-jyk0kg > div > div:last-of-type > div ,[data-css-jyk0kg] > div > div:last-of-type > div {margin:0;max-width:100%;}.css-jyk0kg > div a,[data-css-jyk0kg] > div a{max-width:100%;}.css-jyk0kg > div > * + *,[data-css-jyk0kg] > div > * + *{margin-top:10px;}@media only screen and (max-width: 768px){.css-jyk0kg,[data-css-jyk0kg]{width:100%;margin:20px 0 0 0;padding:0;}}.css-4hck59,[data-css-4hck59]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1drwozb,[data-css-1drwozb]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;width:80%;justify-content:space-between;align-items:center;order:4;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-webkit-order:4;}@media only screen and (max-width: 480px){.css-1drwozb,[data-css-1drwozb]{margin-bottom:20px;}}.css-gbti5j,[data-css-gbti5j]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;align-items:center;position:relative;color:#707070;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}.css-gbti5j>:first-child,[data-css-gbti5j]>:first-child{margin-bottom:5px;}.css-gbti5j>span,[data-css-gbti5j]>span{color:#333;line-height:1.22;letter-spacing:0.8px;font-weight:600;font-size:18px;}.css-1ahj942,[data-css-1ahj942]{border-left:1px solid #e1e1e1;width:1px;height:36px;}.css-1an0suy,[data-css-1an0suy]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;align-items:center;position:relative;color:#707070;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;transition:color 0.6s ease-in-out;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-webkit-transition:color 0.6s ease-in-out;-moz-transition:color 0.6s ease-in-out;}.css-1an0suy>:first-child,[data-css-1an0suy]>:first-child{margin-bottom:5px;}.css-1an0suy>span,[data-css-1an0suy]>span{color:#333;line-height:1.22;letter-spacing:0.8px;font-weight:600;font-size:18px;}.css-1an0suy div,[data-css-1an0suy] div{position:absolute;top:-15px;right:0;left:0;text-align:center;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#45C57C;opacity:0;animation:none;-webkit-animation:none;}.css-1dgfc7p,[data-css-1dgfc7p]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;-webkit-box-pack:justify;-webkit-justify-content:space-between;}.css-1dgfc7p > button,[data-css-1dgfc7p] > button{width:48%;margin-right:10px;}.css-1dgfc7p > button:last-child,[data-css-1dgfc7p] > button:last-child{margin:0;}.css-14pk3xx,[data-css-14pk3xx]{height:32px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;border-radius:2px;border:1px solid #068dfe;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:13px;font-weight:400;letter-spacing:0.8px;background-color:#068dfe;color:#fff;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;padding-top:0;padding-bottom:0;padding-left:8px;padding-right:8px;width:98px;outline:none;flex-grow:0;flex-shrink:0;margin-right:10px;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-webkit-flex-grow:0;-webkit-flex-shrink:0;}.css-14pk3xx:hover,[data-css-14pk3xx]:hover{background-color:rgba(6,141,254,0.8);border-color:rgba(6,141,254,0.79);color:#fff;}.css-1o4togz,[data-css-1o4togz]{height:32px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;border-radius:2px;border:1px solid #068dfe;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:13px;font-weight:400;letter-spacing:0.8px;background-color:#068dfe;color:#fff;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;padding-top:0;padding-bottom:0;padding-left:16px;padding-right:16px;width:auto;outline:none;flex-grow:0;flex-shrink:0;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-webkit-flex-grow:0;-webkit-flex-shrink:0;}.css-1o4togz:hover,[data-css-1o4togz]:hover{background-color:rgba(6,141,254,0.8);border-color:rgba(6,141,254,0.79);color:#fff;}.css-dj0mxl,[data-css-dj0mxl]{color:#707070;}.css-12257h,[data-css-12257h]{margin:25px 0;}.css-2fctj6,[data-css-2fctj6]{grid-template-columns:repeat(auto-fill, 70px);padding:0;justify-content:space-between;grid-gap:20px;display:grid;text-align:center;-ms-grid-template-columns:repeat(auto-fill, 70px);-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-grid-gap:20px;}@media only screen and (max-width: 768px){.css-2fctj6,[data-css-2fctj6]{grid-template-columns:repeat(auto-fill, 60px);-ms-grid-template-columns:repeat(auto-fill, 60px);}}.css-npxw5s,[data-css-npxw5s]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;text-decoration:none;list-style-type:none;color:#707070;}.css-npxw5s:hover,[data-css-npxw5s]:hover{color:#068dfe;}.css-5f34wd,[data-css-5f34wd]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;list-style-type:none;color:#707070;max-width:70px;}.css-5f34wd:hover,[data-css-5f34wd]:hover{color:#068dfe;}@media only screen and (max-width: 480px){.css-5f34wd,[data-css-5f34wd]{max-width:60px;}}.css-np1rfd,[data-css-np1rfd]{width:70px;height:70px;border:1px solid #e1e1e1;border-radius:4px;}@media only screen and (max-width: 480px){.css-np1rfd,[data-css-np1rfd]{width:60px;height:60px;}}.css-l6etxv,[data-css-l6etxv]{word-break:break-word;font-size:11px;height:24px;overflow:hidden;margin:10px 0 0;}@media only screen and (max-width: 480px){.css-l6etxv,[data-css-l6etxv]{margin-top:0;height:30px;line-height:1.4;}}.css-1i8b05s,[data-css-1i8b05s]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;margin-top:20px;-webkit-box-pack:center;-webkit-justify-content:center;}.css-1iqua1m,[data-css-1iqua1m]{height:32px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;border-radius:2px;border:1px solid #068dfe;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:13px;font-weight:400;letter-spacing:0.8px;background-color:#068dfe;color:#fff;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;padding-top:0;padding-bottom:0;padding-left:16px;padding-right:16px;width:auto;outline:none;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1iqua1m:hover,[data-css-1iqua1m]:hover{background-color:rgba(6,141,254,0.8);border-color:rgba(6,141,254,0.79);color:#fff;}.css-13zfms0,[data-css-13zfms0]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-1rmabp8,[data-css-1rmabp8]{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, auto));row-gap:20px;column-gap:20px;text-decoration:none;-ms-grid-template-columns:repeat(auto-fill, minmax(350px, auto));-webkit-column-gap:20px;-moz-column-gap:20px;}.css-1rmabp8 > a,[data-css-1rmabp8] > a{border:1px solid #e1e1e1;border-radius:3px;margin:0;}@media only screen and (max-width: 768px){.css-1rmabp8,[data-css-1rmabp8]{grid-template-columns:minmax(250px, auto);-ms-grid-template-columns:minmax(250px, auto);}}.css-1346slw,[data-css-1346slw]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;justify-content:space-between;align-items:center;padding:10px 20px 10px 20px;background-color:#fff;height:67px;border-radius:3px;margin-bottom:15px;margin-right:18px;flex-shrink:0;text-decoration:none;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-webkit-flex-shrink:0;}.css-1346slw:hover,[data-css-1346slw]:hover{background-color:#fff;}@media only screen and (max-width: 480px){.css-1346slw,[data-css-1346slw]{padding:10px 5px;}}.css-2blcgu,[data-css-2blcgu]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 480px){.css-2blcgu,[data-css-2blcgu]{max-width:70px;}}.css-4vocyb,[data-css-4vocyb]{height:27px;width:27px;}.css-pdrhqn,[data-css-pdrhqn]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:11px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#4a4a4a;text-align:center;margin-top:5px;text-overflow:ellipsis;width:80px;white-space:nowrap;overflow:hidden;}@media only screen and (max-width: 768px){.css-pdrhqn,[data-css-pdrhqn]{width:60px;}}.css-c3yizi,[data-css-c3yizi]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:11px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#4a4a4a;height:21px;width:21px;border:1px solid #e1e1e1;border-radius:50%;box-sizing:content-box;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:5px;margin-left:5px;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-flex-shrink:0;}.css-f7loz8,[data-css-f7loz8]{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, auto));row-gap:20px;column-gap:20px;margin-top:20px;-ms-grid-template-columns:repeat(auto-fill, minmax(350px, auto));-webkit-column-gap:20px;-moz-column-gap:20px;}@media only screen and (max-width: 768px){.css-f7loz8,[data-css-f7loz8]{grid-template-columns:minmax(250px, auto);justify-items:center;-ms-grid-template-columns:minmax(250px, auto);}}.css-fisw11,[data-css-fisw11]{display:block;}.css-1nho65o,[data-css-1nho65o]{grid-template-columns:repeat(auto-fill, 64px);justify-content:space-between;grid-gap:20px;display:grid;text-align:center;-ms-grid-template-columns:repeat(auto-fill, 64px);-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-grid-gap:20px;}.css-1ugm2nv,[data-css-1ugm2nv]{position:relative;}.css-1ugm2nv a,[data-css-1ugm2nv] a{display:inline-block;}.css-1ugm2nv img,[data-css-1ugm2nv] img{width:64px;height:64px;border-radius:50%;}.css-1ugm2nv> svg,[data-css-1ugm2nv]> svg{width:64px;height:64px;}.css-pvufaf,[data-css-pvufaf]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#068dfe;text-decoration:none;cursor:pointer;}.css-4gnhqq,[data-css-4gnhqq]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;}.css-uw1ldh,[data-css-uw1ldh]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:0.2px;-webkit-font-smoothing:antialiased;border-bottom:1px solid;border-color:#e1e1e1;padding:10px 0 20px 0;width:100%;}.css-xkasvz,[data-css-xkasvz]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;padding:20px 0;width:100%;}.css-atv6j6,[data-css-atv6j6]{margin-top:5px;}.css-1m8tyev,[data-css-1m8tyev]{position:relative;}.css-1m8tyev a,[data-css-1m8tyev] a{display:inline-block;}.css-1m8tyev img,[data-css-1m8tyev] img{width:31px;height:31px;border-radius:50%;}.css-1m8tyev> svg,[data-css-1m8tyev]> svg{width:31px;height:31px;}.css-1vf0ygt,[data-css-1vf0ygt]{margin-left:15px;width:100%;}.css-1vf0ygt a,[data-css-1vf0ygt] a{color:#333;}.css-1vf0ygt a:hover,[data-css-1vf0ygt] a:hover{color:#068dfe;}.css-utnqcw,[data-css-utnqcw]{font-weight:bold;font-size:14px;width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;-webkit-box-pack:justify;-webkit-justify-content:space-between;}.css-ds0hbm,[data-css-ds0hbm]{color:#4a4a4a;}.css-dg4ww9,[data-css-dg4ww9]{width:100%;margin-top:0;margin-bottom:18px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}.css-dg4ww9 > svg:first-of-type,[data-css-dg4ww9] > svg:first-of-type{margin-right:7px;}.css-dg4ww9 > a,[data-css-dg4ww9] > a{text-decoration:none;margin-right:7px;}.css-dg4ww9 > a:last-of-type,[data-css-dg4ww9] > a:last-of-type{text-decoration:none;margin-right:0;}.css-dg4ww9 > *,[data-css-dg4ww9] > *{margin-bottom:13px;}.css-dg4ww9 > a > span:last-of-type,[data-css-dg4ww9] > a > span:last-of-type{font-size:14px;}.css-z9ms26,[data-css-z9ms26]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#2d2d2d;margin-right:7px;}.css-1pwtf47,[data-css-1pwtf47]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;align-items:center;text-decoration:none;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}.css-t68yd0,[data-css-t68yd0]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;position:relative;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;min-height:22px;background-color:#fff;border-radius:3.1px;border:0;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-t68yd0:hover,[data-css-t68yd0]:hover{background-color:#fff;}.css-1rz3855,[data-css-1rz3855]{border:solid 1px #c2c2c2;border-radius:3.1px;height:22px;width:22px;}.css-i6njnm,[data-css-i6njnm]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin-left:7px;color:#000;}.css-6uh2e7,[data-css-6uh2e7]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#939393;margin-right:7px;}.css-1j2w1cg,[data-css-1j2w1cg]{cursor:pointer;text-decoration:none;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;margin-right:0;-webkit-box-align:center;-webkit-align-items:center;}.css-1j2w1cg > div:last-of-type,[data-css-1j2w1cg] > div:last-of-type{margin-right:0;}.css-1b2ktnx,[data-css-1b2ktnx]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#2d2d2d;margin-right:7px;margin-left:7px;}.css-1dp4k20,[data-css-1dp4k20]{height:75px;position:relative;overflow:hidden;}.css-1dp4k20:after,[data-css-1dp4k20]:after{content:" ";position:absolute;bottom:0;left:0;width:100%;height:30px;background:-webkit-linear-gradient(to bottom, rgba(255,255,255,0), #fff 80%); background: -moz-linear-gradient(to bottom, rgba(255,255,255,0), #fff 80%); background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 80%);}.css-ztg526 .topic,[data-css-ztg526] .topic,.css-ztg526 .tool,[data-css-ztg526] .tool{font-weight:normal;background:rgba(6,141,254,0.15);padding:0px 2px;}.css-ztg526 a,[data-css-ztg526] a,.css-ztg526 a:visited,[data-css-ztg526] a:visited{color:#068dfe;text-decoration:underline;cursor:pointer;}.css-ztg526 a:hover,[data-css-ztg526] a:hover,.css-ztg526 a:visited:hover,[data-css-ztg526] a:visited:hover{text-decoration:underline;}.css-ztg526 pre,[data-css-ztg526] pre{white-space:pre-wrap;word-wrap:break-word;background:#fafafa;color:#333;margin:15px 0;font-family:monospace;padding:10px;border-radius:0;}.css-ztg526 code,[data-css-ztg526] code{border-radius:0;background:#fafafa;color:#333;}.css-1srb7t4,[data-css-1srb7t4]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.6666666666666667;letter-spacing:normal;-webkit-font-smoothing:antialiased;width:100%;text-align:center;text-decoration:underline;cursor:pointer;color:#333;}.css-1srb7t4:hover,[data-css-1srb7t4]:hover{color:#333;text-decoration:none;}.css-1mlbi0l,[data-css-1mlbi0l]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;margin-bottom:15px;flex-shrink:0;cursor:default;-webkit-box-align:center;-webkit-align-items:center;-webkit-flex-shrink:0;}.css-1mlbi0l > div:first-of-type,[data-css-1mlbi0l] > div:first-of-type{width:40px;flex-shrink:0;-webkit-flex-shrink:0;}.css-1cda8k4,[data-css-1cda8k4]{display:inline-block;border-radius:2px;cursor:pointer;background-color:#fff;border:1px solid #c2c2c2;color:#4a4a4a;}.css-2an9kq,[data-css-2an9kq]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;justify-content:center;align-items:center;padding-top:5px;padding-left:8px;padding-right:8px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-5x5cr6,[data-css-5x5cr6]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:12px;font-weight:600;line-height:1.83;letter-spacing:0.5px;}.css-rsz8c,[data-css-rsz8c]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin-left:10px;text-decoration:none;color:#000;}.css-6pc9xu,[data-css-6pc9xu]{margin-left:5px;width:15px;height:15px;}.css-bjhznw,[data-css-bjhznw]{color:#333;}.css-bjhznw:hover,[data-css-bjhznw]:hover{color:#068dfe;text-decoration:underline;}.css-13nf4of,[data-css-13nf4of]{margin:15px 0;border-top:solid 1px #e1e1e1;border-bottom:solid 1px #e1e1e1;padding:15px 0;}.css-13nf4of a,[data-css-13nf4of] a{color:#333;text-decoration:underline;}.css-xd3exe,[data-css-xd3exe]{margin-right:5px;}.css-1pwfust,[data-css-1pwfust]{margin:20px 0;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;flex-wrap:wrap;padding:0 0 0 20px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}.css-960s6h,[data-css-960s6h]{margin:10px 0;flex-basis:48%;color:#707070;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;-webkit-flex-basis:48%;}@media only screen and (max-width: 480px){.css-960s6h,[data-css-960s6h]{flex-basis:100%;-webkit-flex-basis:100%;}}.css-1n4juvm,[data-css-1n4juvm]{color:#707070;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.69;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin-top:8px;}.css-ubfqf7,[data-css-ubfqf7]{margin:50px 0 0 0;}.css-h9makx,[data-css-h9makx]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:18px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin-bottom:25px;}.css-1pexnsy,[data-css-1pexnsy]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column-reverse;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;}.css-1etrjfj,[data-css-1etrjfj]{position:relative;overflow-y:scroll;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-grow:1;height:auto;max-height:280px;flex-direction:row;flex-wrap:wrap;-webkit-flex-grow:1;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}.css-1etrjfj::-webkit-scrollbar,[data-css-1etrjfj]::-webkit-scrollbar{width:4px;}.css-1etrjfj::-webkit-scrollbar-thumb,[data-css-1etrjfj]::-webkit-scrollbar-thumb{background:#c2c2c2;border-radius:2.5px;}.css-1etrjfj > div,[data-css-1etrjfj] > div{flex-basis:33%;-webkit-flex-basis:33%;}@media only screen and (max-width: 480px){.css-1etrjfj > div,[data-css-1etrjfj] > div{flex-basis:50%;-webkit-flex-basis:50%;}}.css-x5yd3w,[data-css-x5yd3w]{margin-top:20px;}</style> <div id="ToolProfile-react-component-884e4c4f-bb05-48b0-a0db-74dda52e5b30" data-ssr="true" ><div class="css-mgyi0p"><div class="css-ii8qy4"><div class="css-f3khu"><div data-testid="breadcrumbs" class="css-1ag7ge9"><a href="/" class="css-ld8qhm">Home</a><div class="css-11b98zt"></div><a href="application_and_data" class="css-ld8qhm">Application and Data</a><div class="css-11b98zt"></div><a href="languages-and-frameworks" class="css-ld8qhm">Languages &amp; Frameworks</a><div class="css-11b98zt"></div><a href="microframeworks" class="css-ld8qhm">Microframeworks (Backend)</a></div></div><div class="css-12i35kv"><div class="css-1mjw833"><div class="css-a5x1lt"><a href="https://typeorm.io/" target="_blank" rel="noopener noreferrer" title="TypeORM website"><img src="https://img.stackshare.io/service/7419/20165699.png" alt="TypeORM logo" class="css-1m5j888"/></a><div class="css-4bpmfq"><div class="css-1pvkxrw"><h1 class="css-1cylxxa">TypeORM</h1><div class="fork"><a href="https://github.com/typeorm/typeorm" target="_blank" rel="noopener noreferrer nofollow" title="Open Source Repo of TypeORM"><svg class="css-6pc9xu" xmlns="http://www.w3.org/2000/svg" width="16" height="22" viewBox="0 0 16 22"><path fill-opacity=".35" d="M12.8 0c-1.776 0-3.2 1.399-3.2 3.143 0 1.147.656 2.168 1.6 2.703v2.011L8 11 4.8 7.857V5.846c.944-.535 1.6-1.54 1.6-2.703C6.4 1.399 4.976 0 3.2 0 1.424 0 0 1.399 0 3.143 0 4.29.656 5.31 1.6 5.846v2.797l4.8 4.714v2.797c-.944.535-1.6 1.54-1.6 2.703C4.8 20.601 6.224 22 8 22c1.776 0 3.2-1.399 3.2-3.143 0-1.147-.656-2.168-1.6-2.703v-2.797l4.8-4.714V5.846c.944-.535 1.6-1.54 1.6-2.703C16 1.399 14.576 0 12.8 0zM3.2 5.029c-1.056 0-1.92-.865-1.92-1.886 0-1.022.88-1.886 1.92-1.886s1.92.864 1.92 1.886c0 1.021-.88 1.886-1.92 1.886zM8 20.743c-1.056 0-1.92-.864-1.92-1.886 0-1.021.88-1.886 1.92-1.886s1.92.865 1.92 1.886c0 1.022-.88 1.886-1.92 1.886zm4.8-15.714c-1.056 0-1.92-.865-1.92-1.886 0-1.022.88-1.886 1.92-1.886s1.92.864 1.92 1.886c0 1.021-.88 1.886-1.92 1.886z"></path></svg></a></div></div><div class="css-1g92dqh"><span class="css-ey1s1s">An ORM that can run in NodeJS and others</span></div></div></div></div><div class="css-1cs0rzs"><div class="css-1j0qgmo"><div class="css-kxs423"><a rel="nofollow" href="https://typeorm.io/"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g fill="#49A8F9" fill-rule="evenodd"><path d="M10.5 0h-4a.5.5 0 0 0 0 1h2.793L4.146 6.146a.5.5 0 1 0 .708.708L10 1.707V4.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5"></path><path d="M8.5 5a.5.5 0 0 0-.5.5V10H1V3h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5"></path></g></svg> <div class="css-eemya1">typeorm.io</div></a><div class="css-3dgua6"></div></div><div class="css-1guve57"></div></div></div></div></div><div class="css-11ovrkw"><div class="css-yawzxl"><div data-testid="navigationBar" class="css-1aswmtz"><div class="css-qrny8b"><nav class="css-1176rj6"><a href="#description" class="css-emqxrc"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1"><path stroke="#A1A1A1" stroke-width=".2" d="M20.35 23H8.95a.933.933 0 0 1-.95-.95V6.95c0-.538.412-.95.95-.95h8.677L21.3 9.673V22.05c0 .538-.412.95-.95.95zm.317-13.073l-2.85-2.85v2.09c0 .19.126.316.316.316h2.534v.634h-2.534a.933.933 0 0 1-.95-.95V6.633H8.95c-.19 0-.317.127-.317.317v15.1c0 .19.127.317.317.317h11.4c.19 0 .317-.127.317-.317V9.927z"></path><path d="M11.87 18.45h5.23a.5.5 0 1 1 0 1h-5.23a.5.5 0 1 1 0-1zm0-5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm0 2.55h3a.5.5 0 1 1 0 1h-3a.5.5 0 1 1 0-1zm0-5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1z"></path></g></svg><div class="css-zkwjas">Description<!-- --> </div></a><a href="#stacks" class="css-emqxrc"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg><div class="css-zkwjas">Stacks<!-- --> </div></a><a href="#pros" class="css-emqxrc"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg><div class="css-zkwjas">Pros<!-- --> </div></a><a href="#features" class="css-emqxrc"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M20.35 23H8.95a.933.933 0 0 1-.95-.95V6.95c0-.538.412-.95.95-.95h8.677L21.3 9.673V22.05c0 .538-.412.95-.95.95zm.317-13.073l-2.85-2.85v2.09c0 .19.126.316.316.316h2.534v.634h-2.534a.933.933 0 0 1-.95-.95V6.633H8.95c-.19 0-.317.127-.317.317v15.1c0 .19.127.317.317.317h11.4c.19 0 .317-.127.317-.317V9.927z"></path><path d="M11.87 18.45h5.23a.5.5 0 1 1 0 1h-5.23a.5.5 0 1 1 0-1zm5.43-2.305v-3.66l-2.7-1.35-2.7 1.35v3.66l2.7 1.35 2.7-1.35zm-2.7-2.34l-.75-.45 1.8-1.02.75.36-1.8 1.11zm.39-1.8l-1.71.99-.48-.3 1.8-.9.39.21zm-2.49 1.2l1.8 1.11v1.74h.6v-1.74l1.8-1.11v2.58l-2.1 1.05-2.1-1.05v-2.58z"></path></g></svg><div class="css-zkwjas">Features<!-- --> </div></a><a href="#alternatives" class="css-emqxrc"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg><div class="css-zkwjas">Alternatives<!-- --> </div></a><a href="#followers" class="css-emqxrc"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg><div class="css-zkwjas">Followers<!-- --> </div></a></nav><div class="css-nil"><div class="css-jyk0kg"><div><div class="css-4hck59"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>539</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>716</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>70</span></div></div></div><div class="css-1dgfc7p"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div></div></div></div></div></div></div></div><main class="css-ii8qy4"><div class="css-z9c3fl"><div class="css-1gs0ko2"><div class="css-1t7lufe"><div id="description" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><div class="css-1nbl3qb"><div class="css-nil"><h2 class="css-i52n91">What is TypeORM?</h2><div class="css-13sfqhu">It supports both Active Record and Data Mapper patterns, unlike all other JavaScript ORMs currently in existence, which means you can write high quality, loosely coupled, scalable, maintainable applications the most productive way.</div><div class="css-13sfqhu">TypeORM<!-- --> is a tool in the <strong>Microframeworks (Backend)</strong> category of a tech stack.</div><div class="css-13sfqhu">TypeORM<!-- --> is an open source tool with <strong>29.9K</strong> <!-- -->GitHub stars and <strong>5.5K</strong> GitHub forks. Here’s a link to <!-- -->TypeORM<!-- -->&#x27;s open source repository on<!-- --> <a href="https://github.com/typeorm/typeorm" title="TypeORM&#x27;s GitHub" class="css-bjhznw">GitHub</a></div><div class="css-13sfqhu"></div></div></div></div><div class="css-nil"><h2 class="css-i52n91">Who uses TypeORM?</h2><div class="css-13sfqhu"></div></div><div class="css-1t7lufe"><div id="stacks" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><div class="css-nil"><h2 class="css-i52n91"></h2><div class="css-13sfqhu"></div><div class="css-13sfqhu"><div class="css-1j3tdba">Companies</div></div><div class="css-13sfqhu"><div class="css-dj0mxl"><strong>85</strong> companies reportedly use<!-- --> <strong>TypeORM</strong> in their tech stacks, including<!-- --> <strong>kevin.<!-- -->, </strong><strong>Oxylabs<!-- -->, </strong>and <strong>Software Engineering</strong>.</div></div></div><div class="css-12257h"><ul class="css-2fctj6"><a href="kevineu/kevin" title="kevin." class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/896322/thumb_retina_b38e71b4aa56e90e0170547756674d34672fb55a.png" alt="kevin." class="css-np1rfd"/><h3 class="css-l6etxv">kevin.</h3></li></a><a href="oxylabs/oxylabs" title="Oxylabs" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/513971/thumb_retina_6cc636c784eb21e14b41df1822888646055a929c.png" alt="Oxylabs" class="css-np1rfd"/><h3 class="css-l6etxv">Oxylabs</h3></li></a><a href="loft/software-engineering" title="Software Engineering" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/366396/thumb_retina_ee7df8232ba80a7b094feb105007fa2f58273f4d.png" alt="Software Engineering" class="css-np1rfd"/><h3 class="css-l6etxv">Software Engineering</h3></li></a><a href="caredoc/caredoc" title="caredoc" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/358691/thumb_retina_43e6ee57544a0c86104ab4827bd888d1cb6cf5cc.png" alt="caredoc" class="css-np1rfd"/><h3 class="css-l6etxv">caredoc</h3></li></a><a href="energy2market/energy2market" title="energy2market" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/543809/thumb_retina_7bba20626d9404fb465834b4003477b9bce1e205.png" alt="energy2market" class="css-np1rfd"/><h3 class="css-l6etxv">energy2market</h3></li></a><a href="chiper/chiper" title="Chiper" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/326943/thumb_retina_82781e3bf0b6793fecd0d20278a5009538c25859.png" alt="Chiper" class="css-np1rfd"/><h3 class="css-l6etxv">Chiper</h3></li></a><a href="quantusflow-software-gmbh/qfl-stack" title="qfl-stack" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/619141/thumb_retina_ceb3381d1399959d8e277dbf0e079537117b13b6.png" alt="qfl-stack" class="css-np1rfd"/><h3 class="css-l6etxv">qfl-stack</h3></li></a><a href="aircloset/aircloset" title="airCloset" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/23048/thumb_retina_7a3eea7a864c5d4aff58335ed54596fd5ccbeea9.png" alt="airCloset" class="css-np1rfd"/><h3 class="css-l6etxv">airCloset</h3></li></a><a href="akelius/infrastructure" title="Infrastructure" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/568394/thumb_retina_cab240ecf1a3bf291f9a265fe373b2a61c3426d0.jpg" alt="Infrastructure" class="css-np1rfd"/><h3 class="css-l6etxv">Infrastructure</h3></li></a></ul><div class="css-1i8b05s"><button class="css-1iqua1m">Sign up to see more</button></div></div><div class="css-nil"><h2 class="css-i52n91"></h2><div class="css-13sfqhu"></div><div class="css-13sfqhu"><div class="css-1j3tdba">Developers</div></div><div class="css-13sfqhu"><strong>330</strong> developers on StackShare have stated that they use <strong>TypeORM</strong>.</div></div><div class="css-12257h"><ul class="css-2fctj6"><a href="yayajacky/personal" title="Personal" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/14843/thumb_retina_74392a55778eae0af651b668ed37035a6c2c932a.png" alt="Personal" class="css-np1rfd"/><h3 class="css-l6etxv">Personal</h3></li></a><a href="ematipico/personal-skills" title="Personal skills" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/30916/thumb_retina_fe97bbd392216955844f75bed7551ce360ab9ba8.jpeg" alt="Personal skills" class="css-np1rfd"/><h3 class="css-l6etxv">Personal skills</h3></li></a><a href="denisrudnei/my-stack" title="My Stack" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/52325/thumb_retina_a22f2adeed5546e7ddcacc28acad613a80561b9d.jpg" alt="My Stack" class="css-np1rfd"/><h3 class="css-l6etxv">My Stack</h3></li></a><a href="19majkel94/my-stack" title="My Stack" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/154611/thumb_retina_1903e2802cb02a3d4500f8e72087bc24b9f132a1.jpeg" alt="My Stack" class="css-np1rfd"/><h3 class="css-l6etxv">My Stack</h3></li></a><a href="shrewmus/my-stack" title="My Stack" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/312900/thumb_retina_96b6200edbd0186a62f2f546ccb71c3c8abc9787.jpeg" alt="My Stack" class="css-np1rfd"/><h3 class="css-l6etxv">My Stack</h3></li></a><a href="indigomx9/my-stack" title="My Stack" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/314356/thumb_retina_f42d3d486ce16064404ea3a8ab4bf631662859f0.jpeg" alt="My Stack" class="css-np1rfd"/><h3 class="css-l6etxv">My Stack</h3></li></a><a href="siner308/2021-05-17" title="2021-05-17" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/317453/thumb_retina_8352da4a405e2e577020e04c31a484aeeddc3bbd.jpeg" alt="2021-05-17" class="css-np1rfd"/><h3 class="css-l6etxv">2021-05-17</h3></li></a><a href="saystone/my-stack" title="My Stack" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/329931/thumb_retina_d42a4d6f4952b60666249aac651e13f8ebd2cecd.jpeg" alt="My Stack" class="css-np1rfd"/><h3 class="css-l6etxv">My Stack</h3></li></a><a href="rhogeranacleto/skills" title="Skills" class="css-npxw5s"><li class="css-5f34wd"><img src="https://img.stackshare.io/stack/332512/thumb_retina_6d8ab0bbbe7f19daf21f32483efbfaae6d696ccb.jpeg" alt="Skills" class="css-np1rfd"/><h3 class="css-l6etxv">Skills</h3></li></a></ul><div class="css-1i8b05s"><button class="css-1iqua1m">Sign up to see more</button></div></div></div><div class="css-1t7lufe"><div id="pros" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><div class="css-ubfqf7"><div class="css-h9makx">Pros of <!-- -->TypeORM</div><div class="css-nil"><div class="css-1pexnsy"><div class="css-nil"><div class="css-1etrjfj"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">28</span></div></div><span class="css-rsz8c">Typescript</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">10</span></div></div><span class="css-rsz8c">Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Ser</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">9</span></div></div><span class="css-rsz8c">Easy setup</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Works in NodeJS, Browser, Ionic, Cordova and Electron p</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Support MySQL &amp; MariaDB, PostgreSQL, MSSQL, Sqlite</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Promise Based</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Cons of TypeORM</span></div><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Support MongoDB</span></div></div></div></div></div></div><div class="css-ubfqf7"><div class="css-1j3tdba">Decisions about TypeORM</div><p class="css-1n4juvm">Here are some stack decisions, common use cases and reviews by companies and developers who chose <!-- -->TypeORM<!-- --> in their tech stack.</p><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Martin Johannesson</div></div><div class="css-ds0hbm">Senior Software Developer<!-- --> at IT Minds<!-- --> · <a href="/objmj-itminds/decisions/102614413651968242" class="css-nil"><time>Aug 14, 2019</time> <!-- -->| 14 upvotes · 571.4K views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a class="css-1pwtf47"><span title="TypeScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1612/bynNY5dJ.jpg" alt="TypeScript" class="css-1rz3855"/></span><span class="css-i6njnm">TypeScript</span></a><a class="css-1pwtf47"><span title="Node.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1011/n1JRsFeB_400x400.png" alt="Node.js" class="css-1rz3855"/></span><span class="css-i6njnm">Node.js</span></a><a class="css-1pwtf47"><span title="TypeORM" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/7419/20165699.png" alt="TypeORM" class="css-1rz3855"/></span><span class="css-i6njnm">TypeORM</span></a><a class="css-1pwtf47"><span title="PostgreSQL" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1028/ASOhU5xJ.png" alt="PostgreSQL" class="css-1rz3855"/></span><span class="css-i6njnm">PostgreSQL</span></a><a class="css-1pwtf47"><span title="Apollo" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5508/CyUH653y.png" alt="Apollo" class="css-1rz3855"/></span><span class="css-i6njnm">Apollo</span></a><a class="css-1pwtf47"><span title="GraphQL" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3820/12972006.png" alt="GraphQL" class="css-1rz3855"/></span><span class="css-i6njnm">GraphQL</span></a><a class="css-1pwtf47"><span title="Next.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5936/nextjs.png" alt="Next.js" class="css-1rz3855"/></span><span class="css-i6njnm">Next.js</span></a><a class="css-1pwtf47"><span title="MongoDB" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1030/leaf-360x360.png" alt="MongoDB" class="css-1rz3855"/></span><span class="css-i6njnm">MongoDB</span></a><a class="css-1pwtf47"><span title="React" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1020/OYIaJ1KK.png" alt="React" class="css-1rz3855"/></span><span class="css-i6njnm">React</span></a><a class="css-1pwtf47"><span title="PWA" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6658/PSpUS-Hp_400x400.jpg" alt="PWA" class="css-1rz3855"/></span><span class="css-i6njnm">PWA</span></a><a class="css-1pwtf47"><span title="AMP" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6006/amp.jpg" alt="AMP" class="css-1rz3855"/></span><span class="css-i6njnm">AMP</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/it-minds" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">IT Minds</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>At IT Minds we create customized internal or <span class="topic">#B2B</span> web and mobile apps. I have a go to stack that I pitch to our customers consisting of 3 core areas. 1) A data core <span class="topic">#backend</span> . 2) A micro <span class="topic">#serverless</span> #backend. 3) A user client #frontend.</p> <p>For the Data Core I create a backend using <span class="tool">TypeScript</span> <span class="tool">Node.js</span> and with <span class="tool">TypeORM</span> connecting to a <span class="tool">PostgreSQL</span> Exposing an action based api with <span class="tool">Apollo</span> <span class="tool">GraphQL</span> </p> <p>For the micro serverless backend, which purpose is verification for authentication, autorization, logins and the likes. It is created with <span class="tool">Next.js</span> api pages. Using <span class="tool">MongoDB</span> to store essential information, caching etc.</p> <p>Finally the frontend is built with <span class="tool">React</span> using <span class="tool">Next.js</span> , <span class="tool">TypeScript</span> and @Apollo. We create the frontend as a <span class="tool">PWA</span> and have a <span class="tool">AMP</span> landing page by default.</p></div><div class="css-13nf4of"><svg class="css-xd3exe" xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g fill="#49A8F9" fill-rule="evenodd"><path d="M10.5 0h-4a.5.5 0 0 0 0 1h2.793L4.146 6.146a.5.5 0 1 0 .708.708L10 1.707V4.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5"></path><path d="M8.5 5a.5.5 0 0 0-.5.5V10H1V3h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5"></path></g></svg><a href="https://dev.to/itminds/the-leading-web-stack-of-an-it-minds-senior-developer-45mb" title="The Leading Web stack of an IT Minds Senior Developer. - DEV Community 👩‍💻👨‍💻" class="css-nil">The Leading Web stack of an IT Minds Senior Developer. - DEV Community 👩‍💻👨‍💻</a></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Simon Reymann</div></div><div class="css-ds0hbm">Senior Fullstack Developer<!-- --> at QUANTUSflow Software GmbH<!-- --> · <a href="/zimoony/decisions/104048439203281692" class="css-nil"><time>Apr 23, 2020</time> <!-- -->| 26 upvotes · 3.2M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a class="css-1pwtf47"><span title="Postman" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1336/xWMRvm_5_400x400.png" alt="Postman" class="css-1rz3855"/></span><span class="css-i6njnm">Postman</span></a><a class="css-1pwtf47"><span title="Vue.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3837/paeckCWC.png" alt="Vue.js" class="css-1rz3855"/></span><span class="css-i6njnm">Vue.js</span></a><a class="css-1pwtf47"><span title="AngularJS" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1019/square.png" alt="AngularJS" class="css-1rz3855"/></span><span class="css-i6njnm">AngularJS</span></a><a class="css-1pwtf47"><span title="React" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1020/OYIaJ1KK.png" alt="React" class="css-1rz3855"/></span><span class="css-i6njnm">React</span></a><a class="css-1pwtf47"><span title="Yarn" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5848/44mC-kJ3.jpg" alt="Yarn" class="css-1rz3855"/></span><span class="css-i6njnm">Yarn</span></a><a class="css-1pwtf47"><span title="JavaScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1209/javascript.jpeg" alt="JavaScript" class="css-1rz3855"/></span><span class="css-i6njnm">JavaScript</span></a><a class="css-1pwtf47"><span title="PHP" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/991/hwUcGZ41_400x400.jpg" alt="PHP" class="css-1rz3855"/></span><span class="css-i6njnm">PHP</span></a><a class="css-1pwtf47"><span title="JSON Web Token" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6417/jwt-icon.png" alt="JSON Web Token" class="css-1rz3855"/></span><span class="css-i6njnm">JSON Web Token</span></a><a class="css-1pwtf47"><span title="TypeORM" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/7419/20165699.png" alt="TypeORM" class="css-1rz3855"/></span><span class="css-i6njnm">TypeORM</span></a><a class="css-1pwtf47"><span title="Swagger UI" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3417/pIea9Ji0.png" alt="Swagger UI" class="css-1rz3855"/></span><span class="css-i6njnm">Swagger UI</span></a><a class="css-1pwtf47"><span title="ExpressJS" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1163/hashtag.png" alt="ExpressJS" class="css-1rz3855"/></span><span class="css-i6njnm">ExpressJS</span></a><a class="css-1pwtf47"><span title="TypeScript" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1612/bynNY5dJ.jpg" alt="TypeScript" class="css-1rz3855"/></span><span class="css-i6njnm">TypeScript</span></a><a class="css-1pwtf47"><span title="NestJS" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/8747/4zsOyxko_400x400.jpg" alt="NestJS" class="css-1rz3855"/></span><span class="css-i6njnm">NestJS</span></a><a class="css-1pwtf47"><span title="npm" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1120/lejvzrnlpb308aftn31u.png" alt="npm" class="css-1rz3855"/></span><span class="css-i6njnm">npm</span></a><a class="css-1pwtf47"><span title="Lerna" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6207/OwqAUSQi_400x400.jpg" alt="Lerna" class="css-1rz3855"/></span><span class="css-i6njnm">Lerna</span></a><a class="css-1pwtf47"><span title="Node.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1011/n1JRsFeB_400x400.png" alt="Node.js" class="css-1rz3855"/></span><span class="css-i6njnm">Node.js</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/quantusflow-software-gmbh" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">QUANTUSflow Software GmbH</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>Our whole <span class="tool">Node.js</span> backend stack consists of the following tools:</p> <ul> <li><span class="tool">Lerna</span> as a tool for multi package and multi repository management</li> <li><span class="tool">npm</span> as package manager</li> <li><span class="tool">NestJS</span> as <span class="tool">Node.js</span> framework</li> <li><span class="tool">TypeScript</span> as programming language</li> <li><span class="tool">ExpressJS</span> as web server</li> <li><span class="tool">Swagger UI</span> for visualizing and interacting with the API’s resources</li> <li><span class="tool">Postman</span> as a tool for API development</li> <li><span class="tool">TypeORM</span> as object relational mapping layer</li> <li><span class="tool">JSON Web Token</span> for access token management</li> </ul> <p>The main reason we have chosen <span class="tool">Node.js</span> over <span class="tool">PHP</span> is related to the following artifacts:</p> <ul> <li> <strong>Made for the web and widely in use:</strong> <span class="tool">Node.js</span> is a software platform for developing server-side network services. Well-known projects that rely on <span class="tool">Node.js</span> include the blogging software Ghost, the project management tool Trello and the operating system WebOS. <span class="tool">Node.js</span> requires the <span class="tool">JavaScript</span> runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies <span class="tool">Node.js</span> especially for the operation of a web server. Ryan Dahl, the developer of <span class="tool">Node.js</span>, released the first stable version on May 27, 2009. He developed <span class="tool">Node.js</span> out of dissatisfaction with the possibilities that <span class="tool">JavaScript</span> offered at the time. The basic functionality of <span class="tool">Node.js</span> has been mapped with <span class="tool">JavaScript</span> since the first version, which can be expanded with a large number of different modules. The current package managers (<span class="tool">npm</span> or <span class="tool">Yarn</span>) for <span class="tool">Node.js</span> know more than 1,000,000 of these modules.</li> <li> <strong>Fast server-side solutions:</strong> <span class="tool">Node.js</span> adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within <span class="tool">JavaScript</span>/<span class="tool">TypeScript</span>, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.</li> <li> <strong>A language along the entire stack:</strong> Widely used frameworks such as <span class="tool">React</span> or <span class="tool">AngularJS</span> or <span class="tool">Vue.js</span>, which we prefer, are written in <span class="tool">JavaScript</span>/<span class="tool">TypeScript</span>. If <span class="tool">Node.js</span> is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.</li> <li> <strong>Flexibility:</strong> <span class="tool">Node.js</span> sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.</li> </ul></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Joshua Snyder</div></div><div class="css-ds0hbm"><a href="/js3490/decisions/105254849106771272" class="css-nil"><time>Nov 22, 2020</time> <!-- -->| 7 upvotes · 47.1K views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a class="css-1pwtf47"><span title="PostgreSQL" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1028/ASOhU5xJ.png" alt="PostgreSQL" class="css-1rz3855"/></span><span class="css-i6njnm">PostgreSQL</span></a><a class="css-1pwtf47"><span title="TypeORM" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/7419/20165699.png" alt="TypeORM" class="css-1rz3855"/></span><span class="css-i6njnm">TypeORM</span></a><a class="css-1pwtf47"><span title="Firebase" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/116/cZLxNFZS.jpg" alt="Firebase" class="css-1rz3855"/></span><span class="css-i6njnm">Firebase</span></a><a class="css-1pwtf47"><span title="Django" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/994/4aGjtNQv.png" alt="Django" class="css-1rz3855"/></span><span class="css-i6njnm">Django</span></a><a class="css-1pwtf47"><span title="Next.js" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5936/nextjs.png" alt="Next.js" class="css-1rz3855"/></span><span class="css-i6njnm">Next.js</span></a><a class="css-1pwtf47"><span title="React" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1020/OYIaJ1KK.png" alt="React" class="css-1rz3855"/></span><span class="css-i6njnm">React</span></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>I am trying to figure out how to spin up effective <span class="tool">React</span> apps as fast as possible. I have loved my experience with using <span class="tool">Next.js</span> so far and have been using Next-Auth as an authentication process.</p> <p>So far, I have used <span class="tool">Django</span> on the backend, but it looks like I can speed things up by ditching the backend and going serverless with the Next.js API routes. That means I am left with a database solution to figure out. Does anyone have experience using <span class="tool">Firebase</span> together with React, or alternatively using <span class="tool">TypeORM</span> with a <span class="tool">PostgreSQL</span> database?</p> <p>I am valuing ease of development in this decision.</p></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Dieudonné ALLOGNON</div></div><div class="css-ds0hbm">Junior Fullstack Developer<!-- --> · <a href="/Jiedevm/decisions/106136773108219115" class="css-nil"><time>Apr 27, 2021</time> <!-- -->| 5 upvotes · 165.7K views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a class="css-1pwtf47"><span title="jQuery" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1021/lxEKmMnB_400x400.jpg" alt="jQuery" class="css-1rz3855"/></span><span class="css-i6njnm">jQuery</span></a><a class="css-1pwtf47"><span title="MySQL" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1025/logo-mysql-170x170.png" alt="MySQL" class="css-1rz3855"/></span><span class="css-i6njnm">MySQL</span></a><a class="css-1pwtf47"><span title="TypeORM" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/7419/20165699.png" alt="TypeORM" class="css-1rz3855"/></span><span class="css-i6njnm">TypeORM</span></a><a class="css-1pwtf47"><span title="Sequelize" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3211/3591786.png" alt="Sequelize" class="css-1rz3855"/></span><span class="css-i6njnm">Sequelize</span></a><a class="css-1pwtf47"><span title="Laravel" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/992/AcA2LnWL_400x400.jpg" alt="Laravel" class="css-1rz3855"/></span><span class="css-i6njnm">Laravel</span></a><a class="css-1pwtf47"><span title="Electron" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2946/default_18a71b65e69d7aef5f218ae07f64eb6e1594c444.jpg" alt="Electron" class="css-1rz3855"/></span><span class="css-i6njnm">Electron</span></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>Hey! I am actually in internship and have an app to create for my structure. It will be an intern app which will allow crud dashboard actions with some data provided by the use of an API of one of the structure partner and make a correspondence to data contained in a private database. Since it's an intern app, I thought about <span class="tool">Electron</span> for a desktop app because I did a lot of web with <span class="tool">Laravel</span> and the structure goes more for the desktop app. But it will be my first occasion working with this tech.</p> <p>Is Electron a good choice? Wich ORM should be more complete and adapted to this between <span class="tool">Sequelize</span> and <span class="tool">TypeORM</span>? (Database will be <span class="tool">MySQL</span>) Some charts will be displayed in the app. Is there a library (preferably without <span class="tool">jQuery</span>) that suits this stack?</p> <p>Thank you !</p></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-x5yd3w"><a href="/tool/typeorm/decisions" class="css-1xexurq">See all decisions</a></div></div></div><div class="css-1t7lufe"><div id="features" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><h2 class="css-i52n91">TypeORM<!-- -->&#x27;s Features</h2><ul class="css-1pwfust"><li class="css-960s6h">automatically create the database table schemes based on your models</li><li class="css-960s6h">transparently insert / update / delete to the database your objects</li><li class="css-960s6h">map your selections from tables to JavaScript objects and map table columns to object properties</li><li class="css-960s6h">easily create one-to-one, many-to-one, one-to-many and many-to-many relations between tables</li><li class="css-960s6h">and much more.</li></ul></div><div class="css-1t7lufe"><div id="alternatives" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><h2 class="css-i52n91">TypeORM<!-- --> Alternatives &amp; Comparisons</h2><div class="css-nuwf1p"><div class="css-1j3tdba">What are some alternatives to <!-- -->TypeORM<!-- -->?</div><div class="css-4d5oui"><div class="css-10pc7td"><div class="css-1ukyolz"><div class="css-1uackhz">Sequelize</div></div><div class="css-1ofkegx">Sequelize is a promise-based ORM for Node.js and io.js. It supports the dialects PostgreSQL, MySQL, MariaDB, SQLite and MSSQL and features solid transaction support, relations, read replication and more.</div><div class="css-1ukyolz"><div class="css-1uackhz">Mongoose</div></div><div class="css-1ofkegx">Let&#x27;s face it, writing MongoDB validation, casting and business logic boilerplate is a drag. That&#x27;s why we wrote Mongoose. Mongoose provides a straight-forward, schema-based solution to modeling your application data and includes built-in type casting, validation, query building, business logic hooks and more, out of the box.</div><div class="css-1ukyolz"><div class="css-1uackhz">LoopBack</div></div><div class="css-1ofkegx">A highly-extensible, open-source Node.js framework that enables you to create dynamic end-to-end REST APIs with little or no coding. Connect to multiple data sources, write business logic in Node.js, glue on top of your existing services and data, connect using JS, iOS &amp; Android SDKs.</div><div class="css-1ukyolz"><div class="css-1uackhz">Prisma</div></div><div class="css-1ofkegx">Prisma is an open-source database toolkit. It replaces traditional ORMs and makes database access easy with an auto-generated query builder for TypeScript &amp; Node.js.</div><div class="css-1ukyolz"><div class="css-1uackhz">MikroORM</div></div><div class="css-1ofkegx">TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, PostgreSQL and SQLite databases.</div></div><a data-testid="seeAllAlternativesLink" href="/typeorm/alternatives" class="css-1xexurq">See all alternatives</a></div></div><div class="css-nuwf1p"><div class="css-nuwf1p"><div class="css-1j3tdba">Related Comparisons</div><div class="css-nuwf1p"><div class="css-13zfms0"><div class="css-1rmabp8"><a href="/stackups/sequelize-vs-typeorm" class="css-1346slw"><div class="css-2blcgu"><img src="https://img.stackshare.io/service/3211/thumb_3591786.png" alt="Sequelize" class="css-4vocyb"/><div title="Sequelize" class="css-pdrhqn">Sequelize</div></div><div class="css-c3yizi">VS</div><div class="css-2blcgu"><img src="https://img.stackshare.io/service/7419/thumb_20165699.png" alt="TypeORM" class="css-4vocyb"/><div title="TypeORM" class="css-pdrhqn">TypeORM</div></div></a><a href="/stackups/mongoose-vs-typeorm" class="css-1346slw"><div class="css-2blcgu"><img src="https://img.stackshare.io/service/1231/thumb_0TXzZU7W_400x400.jpg" alt="Mongoose" class="css-4vocyb"/><div title="Mongoose" class="css-pdrhqn">Mongoose</div></div><div class="css-c3yizi">VS</div><div class="css-2blcgu"><img src="https://img.stackshare.io/service/7419/thumb_20165699.png" alt="TypeORM" class="css-4vocyb"/><div title="TypeORM" class="css-pdrhqn">TypeORM</div></div></a><a href="/stackups/loopback-vs-typeorm" class="css-1346slw"><div class="css-2blcgu"><img src="https://img.stackshare.io/service/7419/thumb_20165699.png" alt="TypeORM" class="css-4vocyb"/><div title="TypeORM" class="css-pdrhqn">TypeORM</div></div><div class="css-c3yizi">VS</div><div class="css-2blcgu"><img src="https://img.stackshare.io/service/2727/thumb_634685dfedc4df3d35d7eaa25d9d4cdd0be4c7b9.jpg" alt="LoopBack" class="css-4vocyb"/><div title="LoopBack" class="css-pdrhqn">LoopBack</div></div></a><a href="/stackups/prisma-vs-typeorm" class="css-1346slw"><div class="css-2blcgu"><img src="https://img.stackshare.io/service/8680/thumb_Logo_Symbol_White.jpg" alt="Prisma" class="css-4vocyb"/><div title="Prisma" class="css-pdrhqn">Prisma</div></div><div class="css-c3yizi">VS</div><div class="css-2blcgu"><img src="https://img.stackshare.io/service/7419/thumb_20165699.png" alt="TypeORM" class="css-4vocyb"/><div title="TypeORM" class="css-pdrhqn">TypeORM</div></div></a><a href="/stackups/mikroorm-vs-typeorm" class="css-1346slw"><div class="css-2blcgu"><img src="https://img.stackshare.io/service/7419/thumb_20165699.png" alt="TypeORM" class="css-4vocyb"/><div title="TypeORM" class="css-pdrhqn">TypeORM</div></div><div class="css-c3yizi">VS</div><div class="css-2blcgu"><img src="https://img.stackshare.io/service/11850/thumb_mikro.png" alt="MikroORM" class="css-4vocyb"/><div title="MikroORM" class="css-pdrhqn">MikroORM</div></div></a><a href="/stackups/entity-framework-vs-typeorm" class="css-1346slw"><div class="css-2blcgu"><img src="https://img.stackshare.io/service/3251/thumb_no-img-open-source.png" alt="Entity Framework" class="css-4vocyb"/><div title="Entity Framework" class="css-pdrhqn">Entity Framework</div></div><div class="css-c3yizi">VS</div><div class="css-2blcgu"><img src="https://img.stackshare.io/service/7419/thumb_20165699.png" alt="TypeORM" class="css-4vocyb"/><div title="TypeORM" class="css-pdrhqn">TypeORM</div></div></a></div><div class="css-f7loz8"><a data-testid="popularToolComparisonLink" href="/typeorm/stackups" class="css-1xexurq">See all comparisons</a></div></div></div></div></div></div><div class="css-1t7lufe"><div id="followers" style="pointer-events:none;grid-column:span undefined;display:block;height:110px;margin-top:-110px"></div><div class="css-nil"><h2 class="css-i52n91"></h2><div class="css-13sfqhu"></div><div class="css-13sfqhu"><div class="css-1j3tdba">TypeORM<!-- -->&#x27;s Followers</div></div><div class="css-13sfqhu"><strong>716</strong> developers follow <strong>TypeORM</strong> <!-- -->to keep up with related blogs and decisions.</div></div><div class="css-12257h"><div class="css-fisw11"><div class="css-1nho65o"><div class="css-1ugm2nv"><a href="/zsoltmeszarovics" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/rsquim" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/adrianlukaszpacala" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/mykhailoromanenko-1" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/jlyabar" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/caiowilson" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/theweekendgeek" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/mehrozeeeeeeeee" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/iushev" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div><div class="css-1ugm2nv"><a href="/kidubo" title="Visit Profile" class="css-pvufaf"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></a></div></div></div></div><div class="css-1i8b05s"><button class="css-1iqua1m">Sign up to see more</button></div></div></div><aside class="css-5vbspm"><div class="css-12llqor"><div style="position:sticky;top:110px"><div class="css-81jah4"></div></div></div></aside></div></main></div><div class="css-69zjs9"><div class="css-8a04gk"><div class="css-1m38k02"><h2 class="css-162qu2y">Similar Tools</h2><a href="/sequelize" title="Sequelize" class="css-p797gu">Sequelize</a><a href="/mongoose" title="Mongoose" class="css-p797gu">Mongoose</a><a href="/loopback" title="LoopBack" class="css-p797gu">LoopBack</a><a href="/prisma" title="Prisma" class="css-p797gu">Prisma</a><a href="/mikroorm" title="MikroORM" class="css-p797gu">MikroORM</a></div><div class="css-1m38k02"><h2 class="css-162qu2y">New Tools</h2><a href="/lineageos" title="LineageOS" class="css-p797gu">LineageOS</a><a href="/fortios" title="FortiOS" class="css-p797gu">FortiOS</a><a href="/euro-linux" title="EuroLinux" class="css-p797gu">EuroLinux</a><a href="/antix-linux" title="antiX Linux" class="css-p797gu">antiX Linux</a><a href="/almalinux" title="AlmaLinux" class="css-p797gu">AlmaLinux</a></div><div class="css-1m38k02"><h2 class="css-162qu2y">Trending Comparisons</h2><a href="/stackups/mongoose-vs-typeorm" title="Mongoose vs TypeORM" class="css-p797gu">Mongoose vs TypeORM</a><a href="/stackups/sequelize-vs-typeorm" title="Sequelize vs TypeORM" class="css-p797gu">Sequelize vs TypeORM</a><a href="/stackups/expressjs-vs-typeorm" title="ExpressJS vs TypeORM" class="css-p797gu">ExpressJS vs TypeORM</a><a href="/stackups/sailsjs-vs-typeorm" title="Sails.js vs TypeORM" class="css-p797gu">Sails.js vs TypeORM</a><a href="/stackups/loopback-vs-typeorm" title="LoopBack vs TypeORM" class="css-p797gu">LoopBack vs TypeORM</a></div><div class="css-1m38k02"><h2 class="css-162qu2y">Related Jobs</h2><a href="/jobs/sequelize" title="Sequelize Jobs" class="css-p797gu">Sequelize Jobs</a><a href="/jobs/mongoose" title="Mongoose Jobs" class="css-p797gu">Mongoose Jobs</a><a href="/jobs/loopback" title="LoopBack Jobs" class="css-p797gu">LoopBack Jobs</a><a href="/jobs/prisma" title="Prisma Jobs" class="css-p797gu">Prisma Jobs</a><a href="/jobs/mikroorm" title="MikroORM Jobs" class="css-p797gu">MikroORM Jobs</a></div></div></div></div> <script> renderComponent('ToolProfile','ToolProfile-react-component-884e4c4f-bb05-48b0-a0db-74dda52e5b30','ToolProfile-apollo-state-884e4c4f-bb05-48b0-a0db-74dda52e5b30','ToolProfile-glamor-884e4c4f-bb05-48b0-a0db-74dda52e5b30', 'apollo','{"route":"/typeorm","userId":null,"featureFlags":{}}'); </script>
<script type="application/json" id="Footer-apollo-state-b887cc69-1029-4251-be72-f428c4a31686">{}</script> <!-- glamorIds: 21 --> <script type="application/json" id="Footer-glamor-b887cc69-1029-4251-be72-f428c4a31686">["1htug8r","1yodi52","iepywa","x5hg3h","u0iaox","9ilv8v","ts0y2j","cs546h","1fco1ts","11a2nsi","1npm75a","1gn11bn","1y302zr","11gxadc","1iqd2ec","lneilx","de1dx1","1h53588","12k57td","j1o656","zr18wh"]</script> <style>@-webkit-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-moz-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-o-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-webkit-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-moz-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-o-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-webkit-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-moz-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-o-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-webkit-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-moz-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-o-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-webkit-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-moz-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-o-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-webkit-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-moz-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-o-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}.css-ts0y2j,[data-css-ts0y2j]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.4;letter-spacing:normal;-webkit-font-smoothing:antialiased;background:#333;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;padding:50px 0 80px;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 768px){.css-ts0y2j,[data-css-ts0y2j]{padding:0 0 40px;}}.css-cs546h,[data-css-cs546h]{max-width:1220px;}@media only screen and (max-width: 992px){.css-cs546h,[data-css-cs546h]{width:700px;}}@media only screen and (min-width: 993px){.css-cs546h,[data-css-cs546h]{width:955px;}}@media only screen and (min-width: 1200px){.css-cs546h,[data-css-cs546h]{width:1220px;}}.css-1fco1ts,[data-css-1fco1ts]{display:grid;grid-template-columns:repeat(4, 1fr);justify-items:center;column-gap:3%;-ms-grid-template-columns:repeat(4, 1fr);-webkit-column-gap:3%;-moz-column-gap:3%;}@media only screen and (max-width: 768px){.css-1fco1ts,[data-css-1fco1ts]{grid-template-columns:1fr;text-align:center;-ms-grid-template-columns:1fr;}}.css-11a2nsi,[data-css-11a2nsi]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;align-items:center;text-align:left;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}.css-1npm75a,[data-css-1npm75a]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;color:#fff;font-size:14px;line-height:1.7;letter-spacing:0.3px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-1npm75a a,[data-css-1npm75a] a{color:#fff;text-decoration:none;}.css-1npm75a a:visited,[data-css-1npm75a] a:visited{color:#fff;}.css-1npm75a a:hover,[data-css-1npm75a] a:hover{color:#068dfe;}.css-1npm75a a:hover span,[data-css-1npm75a] a:hover span{color:#fff;}.css-1npm75a a:active span,[data-css-1npm75a] a:active span{color:#fff;}@media only screen and (max-width: 768px){.css-1npm75a,[data-css-1npm75a]{align-items:center;width:95%;font-size:16px;line-height:2;-webkit-box-align:center;-webkit-align-items:center;}}.css-1gn11bn,[data-css-1gn11bn]{color:#fff;font-weight:600;font-size:20px;letter-spacing:0.38px;}@media only screen and (max-width: 768px){.css-1gn11bn,[data-css-1gn11bn]{margin-top:36px;margin-bottom:24px;}}.css-1y302zr,[data-css-1y302zr]{position:relative;}@media only screen and (min-width: 769px){.css-1y302zr,[data-css-1y302zr]{margin-right:auto;}}.css-11gxadc,[data-css-11gxadc]{padding:0;margin:8px 0;}.css-11gxadc li,[data-css-11gxadc] li{display:inline-block;margin:0 5px;}@media only screen and (min-width: 769px){.css-11gxadc li:first-child,[data-css-11gxadc] li:first-child{margin-left:0;}}@media only screen and (max-width: 768px){.css-11gxadc,[data-css-11gxadc]{margin:0 0 80px;}}.css-1iqd2ec svg:hover path,[data-css-1iqd2ec] svg:hover path{fill:#939393;}.css-lneilx,[data-css-lneilx]{margin-top:15px;line-height:100%;}.css-lneilx svg,[data-css-lneilx] svg{max-width:135px;}.css-lneilx svg g,[data-css-lneilx] svg g{fill:#fff;}@media only screen and (max-width: 768px){.css-lneilx,[data-css-lneilx]{margin-top:0;}}@media only screen and (max-width: 480px){.css-lneilx,[data-css-lneilx]{margin-top:0;}}.css-de1dx1,[data-css-de1dx1]{color:#fff;}.css-de1dx1 a,[data-css-de1dx1] a, .css-de1dx1 span, [data-css-de1dx1] span{display:inline-block;margin-right:8px;font-size:13px;letter-spacing:0.24px;}.css-de1dx1 a:last-child,[data-css-de1dx1] a:last-child{margin-right:0;}@media only screen and (max-width: 768px){.css-de1dx1,[data-css-de1dx1]{line-height:1.5;margin-top:14px;margin-bottom:11px;}}.css-1h53588,[data-css-1h53588]{margin:18px 0;}@media only screen and (max-width: 992px){.css-1h53588,[data-css-1h53588]{text-align:center;}}@media only screen and (max-width: 480px){.css-1h53588,[data-css-1h53588]{text-align:center;}}.css-12k57td,[data-css-12k57td]{font-family:Cerebri Sans Pro;margin-top:0;font-style:normal;font-weight:400;font-size:14px;line-height:25px;letter-spacing:0.375px;color:#fff;}.css-j1o656,[data-css-j1o656]{width:53px;height:53px;}.css-zr18wh,[data-css-zr18wh]{color:#c2c2c2;font-size:10px;margin-top:5px;}.css-zr18wh div,[data-css-zr18wh] div{white-space:nowrap;}@media only screen and (max-width: 768px){.css-zr18wh,[data-css-zr18wh]{font-size:13px;line-height:1.5;text-align:center;}}</style> <div id="Footer-react-component-b887cc69-1029-4251-be72-f428c4a31686" data-ssr="true" ><footer class="css-ts0y2j"><div class="css-cs546h"><div class="css-1fco1ts"><div class="css-11a2nsi"><div class="css-1npm75a"><h3 class="css-1gn11bn">Tools &amp; Services</h3><a href="/stackups/trending" title="Compare Tools">Compare Tools</a><a href="/search" title="Search Tools &amp; Services">Search</a><a href="/alternatives" title="Browse Tools &amp; Services">Browse Tool Alternatives</a><a href="/categories" title="Technology Tools &amp; Services">Browse Tool Categories</a><a href="/submit" title="Submit a Tool">Submit A Tool</a><a href="/admin/approval-tool" title="Approve Tools">Approve Tools</a></div></div><div class="css-11a2nsi"><div class="css-1npm75a"><h3 class="css-1gn11bn">Company</h3><a href="/featured-posts" title="Featured Posts">Blog</a><a href="/api" title="API">API</a><a href="/jobs" title="Jobs">Job Search</a><a href="/careers" title="Careers at StackShare" class="css-1y302zr">Careers</a><a href="/stackshare" title="Our Stack">Our Stack</a><a href="/vendors" title="Advertise With Us">Advertise With Us</a><a href="mailto:team@stackshare.io" title="Contact Us">Contact Us</a></div></div><div class="css-11a2nsi"><div class="css-1npm75a"><h3 class="css-1gn11bn">Follow Us</h3><ul class="css-11gxadc"><li><a href="https://twitter.com/stackshareio" target="_blank" rel="noreferrer noopener nofollow" class="css-1iqd2ec"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#FFF" fill-rule="evenodd" d="M3.6 0h16.8A3.6 3.6 0 0 1 24 3.6v16.8a3.6 3.6 0 0 1-3.6 3.6H3.6A3.6 3.6 0 0 1 0 20.4V3.6A3.6 3.6 0 0 1 3.6 0zm14.29 9.964c.548-.389 1.005-.891 1.393-1.44a6.285 6.285 0 0 1-1.621.435c.594-.343 1.005-.891 1.21-1.553a5.867 5.867 0 0 1-1.758.685A2.759 2.759 0 0 0 15.08 7.2a2.788 2.788 0 0 0-2.787 2.81c0 .205.023.433.069.639A7.976 7.976 0 0 1 6.56 7.702a3.037 3.037 0 0 0-.365 1.417c0 .982.48 1.827 1.233 2.33-.456 0-.89-.138-1.256-.343v.022c0 1.37.96 2.49 2.238 2.764-.228.069-.48.092-.73.092-.183 0-.366-.023-.526-.046.343 1.119 1.394 1.873 2.604 1.896-.96.753-2.147 1.279-3.472 1.279a6 6 0 0 1-.662-.046c1.233.8 2.718 1.233 4.294 1.233 5.162 0 7.971-4.27 7.971-7.97v-.366z"></path></svg></a></li><li><a href="https://facebook.com/stackshareio" target="_blank" rel="noreferrer noopener nofollow" class="css-1iqd2ec"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#FFF" fill-rule="evenodd" d="M16.478 24v-8h2.896l.201-3.069h-3.097v-2.237c0-.86.172-1.405 1.262-1.405h1.692l.143-2.925s-.86-.172-2.351-.172c-3.04 0-4.36 1.835-4.36 3.9v2.81H10.8V16h2.065v8H3.6A3.6 3.6 0 0 1 0 20.4V3.6A3.6 3.6 0 0 1 3.6 0h16.8A3.6 3.6 0 0 1 24 3.6v16.8a3.6 3.6 0 0 1-3.6 3.6h-3.922z"></path></svg></a></li><li><a href="https://www.linkedin.com/company/stackshare" target="_blank" rel="noreferrer noopener nofollow" class="css-1iqd2ec"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#FFF" fill-rule="evenodd" d="M3.6 0h16.8A3.6 3.6 0 0 1 24 3.6v16.8a3.6 3.6 0 0 1-3.6 3.6H3.6A3.6 3.6 0 0 1 0 20.4V3.6A3.6 3.6 0 0 1 3.6 0zm5.521 17.16V9.378H6.374v7.782h2.747zM7.748 8.43c1.119 0 1.83-.807 1.83-1.815C9.554 5.578 8.868 4.8 7.749 4.8c-1.094 0-1.831.778-1.831 1.815 0 1.008.712 1.815 1.805 1.815h.026zm11.444 8.73v-4.12c0-2.518-1.246-4.12-3.205-4.12-1.119 0-1.932.661-2.288 1.653l-.102-1.195h-2.721c.025.305.076 1.83.076 1.83v5.952h2.747v-4.12c0-1.12.508-1.831 1.347-1.831.84 0 1.4.432 1.4 1.83v4.12h2.746z"></path></svg></a></li><li><a href="https://angel.co/stackshare" target="_blank" rel="noreferrer noopener nofollow" class="css-1iqd2ec"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#FFF" fill-rule="evenodd" d="M3.6 0h16.8A3.6 3.6 0 0 1 24 3.6v16.8a3.6 3.6 0 0 1-3.6 3.6H3.6A3.6 3.6 0 0 1 0 20.4V3.6A3.6 3.6 0 0 1 3.6 0zm4.684 14.42c.365.493.708.877 1.029 1.153.322.276.579.413.769.413.14 0 .268-.064.385-.194a.624.624 0 0 0 .173-.42c0-.16-.114-.528-.341-1.11-.227-.58-.512-1.15-.849-1.71-.249-.418-.492-.733-.732-.947-.24-.214-.466-.319-.68-.319-.174 0-.366.111-.577.33-.212.223-.317.43-.317.622 0 .2.102.501.309.903.207.4.484.827.83 1.28zm6.062-4.06a89.757 89.757 0 0 0 1.296-3.767c.31-.99.465-1.598.465-1.824 0-.242-.053-.43-.155-.563h-.001a.51.51 0 0 0-.429-.2c-.23 0-.468.194-.707.582-.24.389-.505 1.014-.793 1.875l-1.238 3.622 1.562.275zm-4.45-.445a.982.982 0 0 1 .371-.058c.05 0 .149.005.298.013.147.01.392.03.73.063L9.958 6.022c-.347-.993-.615-1.644-.806-1.949-.19-.303-.397-.456-.619-.456a.513.513 0 0 0-.422.2c-.107.133-.16.313-.16.54 0 .384.144 1.052.433 2.004.29.953.724 2.202 1.303 3.749a.41.41 0 0 1 .21-.195zm6.22 2.129a1.006 1.006 0 0 0-.245-.293c-.338-.285-.998-.54-1.979-.765a13.608 13.608 0 0 0-3.068-.338c-.296 0-.508.05-.632.15-.124.1-.186.272-.186.516 0 .567.314.98.943 1.233.627.255 1.643.382 3.049.382h.508c.116 0 .21.044.279.133.07.088.118.219.142.394-.14.134-.43.287-.866.456-.438.172-.774.341-1.005.508a4.53 4.53 0 0 0-1.196 1.31 3.99 3.99 0 0 0-.198.374c-.04.09-.07.176-.102.263-.012.034-.029.067-.04.1-.018.063-.03.125-.044.188-.013.056-.032.11-.04.166-.006.039-.006.076-.01.114-.008.076-.019.154-.019.228v.001c0 .277.063.609.192.997.128.388.192.629.192.72v.086l-.025.112c-.364-.023-.65-.239-.863-.644-.21-.406-.315-.947-.315-1.622v-.112a.719.719 0 0 1-.192.125.553.553 0 0 1-.205.037c-.074 0-.144-.006-.212-.019a2.132 2.132 0 0 1-.222-.058v.001c.024.094.043.182.056.27a1.05 1.05 0 0 1-.34 1.003 1.22 1.22 0 0 1-.856.331c-.52 0-1.05-.256-1.587-.77-.537-.515-.806-1.017-.806-1.51 0-.091.01-.172.032-.243a.406.406 0 0 1 .104-.182c.115.142.278.35.483.627.545.76 1.05 1.14 1.512 1.14.157 0 .297-.05.422-.149.123-.1.185-.206.185-.313v-.001c0-.127-.083-.334-.248-.629a8.366 8.366 0 0 0-.681-.99c-.33-.425-.606-.736-.826-.933-.217-.196-.394-.295-.525-.295-.29 0-.557.157-.8.47a1.756 1.756 0 0 0-.366 1.11c0 .344.086.725.254 1.147.168.422.416.846.738 1.271a4.937 4.937 0 0 0 1.816 1.524c.723.355 1.522.532 2.4.532 1.611 0 2.96-.607 4.046-1.823 1.088-1.216 1.632-2.739 1.632-4.568 0-.56-.04-1.005-.124-1.337a1.67 1.67 0 0 0-.162-.425zm-4.733 2.915a6.14 6.14 0 0 1 .626-.682c.218-.206.449-.386.689-.545a8.167 8.167 0 0 1-1.01-.113 5.067 5.067 0 0 1-.912-.252c.133.268.25.535.354.802.103.268.188.532.253.79z"></path></svg></a></li></ul></div></div><div class="css-11a2nsi"><div class="css-1npm75a"><a href="/" class="css-lneilx"><svg width="203" height="31" viewBox="0 0 812 124" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><g id="Layer1" fill-rule="nonzero"><path d="M221.086 85.794c0 7.342-2.55 12.933-7.651 16.775-5.101 3.842-12.731 5.762-22.889 5.762-5.208 0-9.647-.352-13.318-1.056-3.671-.704-7.107-1.739-10.308-3.105V88.035c3.628 1.707 7.715 3.137 12.261 4.29 4.546 1.152 8.547 1.728 12.005 1.728 7.085 0 10.628-2.048 10.628-6.146 0-1.537-.469-2.785-1.408-3.746-.939-.96-2.561-2.048-4.866-3.265-2.305-1.216-5.379-2.636-9.22-4.258-5.506-2.305-9.551-4.439-12.133-6.402-2.583-1.964-4.461-4.215-5.635-6.755-1.173-2.54-1.76-5.666-1.76-9.38 0-6.36 2.465-11.279 7.395-14.758 4.93-3.479 11.919-5.218 20.968-5.218 8.623 0 17.01 1.878 25.163 5.634l-5.891 14.086c-3.585-1.537-6.936-2.796-10.052-3.778a31.589 31.589 0 0 0-9.54-1.472c-5.762 0-8.643 1.558-8.643 4.674 0 1.75.928 3.265 2.785 4.546 1.857 1.28 5.922 3.18 12.197 5.698 5.591 2.262 9.689 4.375 12.293 6.339 2.604 1.963 4.524 4.225 5.762 6.786 1.238 2.561 1.857 5.613 1.857 9.156zM259.924 92.773c3.415 0 7.513-.747 12.293-2.241v14.534c-4.866 2.177-10.841 3.265-17.927 3.265-7.811 0-13.499-1.974-17.063-5.922-3.564-3.948-5.346-9.871-5.346-17.767V50.131h-9.348v-8.259l10.756-6.531 5.635-15.11h12.485v15.238h20.04v14.662h-20.04v34.511c0 2.774.779 4.823 2.337 6.146 1.558 1.323 3.617 1.985 6.178 1.985zM325.59 107.051l-3.778-9.732h-.512c-3.287 4.14-6.669 7.011-10.148 8.611-3.479 1.601-8.014 2.401-13.606 2.401-6.872 0-12.282-1.963-16.23-5.89-3.949-3.927-5.923-9.519-5.923-16.775 0-7.598 2.657-13.2 7.971-16.807 5.315-3.607 13.329-5.602 24.042-5.986l12.421-.384v-3.138c0-7.256-3.713-10.884-11.14-10.884-5.72 0-12.443 1.728-20.168 5.186l-6.467-13.19c8.238-4.311 17.372-6.466 27.403-6.466 9.604 0 16.967 2.091 22.089 6.274s7.683 10.543 7.683 19.08v47.7H325.59zm-5.763-33.166l-7.555.256c-5.677.171-9.902 1.195-12.677 3.074-2.774 1.878-4.162 4.738-4.162 8.579 0 5.506 3.159 8.259 9.476 8.259 4.525 0 8.142-1.301 10.853-3.905 2.71-2.604 4.065-6.061 4.065-10.372v-5.891zM381.843 108.331c-22.281 0-33.421-12.229-33.421-36.687 0-12.165 3.03-21.459 9.091-27.883 6.061-6.424 14.748-9.636 26.059-9.636 8.281 0 15.708 1.622 22.281 4.866l-5.762 15.11c-3.074-1.238-5.933-2.251-8.58-3.041-2.646-.79-5.293-1.185-7.939-1.185-10.159 0-15.238 7.214-15.238 21.641 0 14.001 5.079 21.001 15.238 21.001 3.756 0 7.235-.502 10.436-1.505 3.202-1.003 6.403-2.571 9.604-4.706v16.711c-3.158 2.006-6.349 3.394-9.572 4.162-3.222.768-7.288 1.152-12.197 1.152zM432.398 68.123l8.516-10.885 20.04-21.769h22.025l-28.428 31.053 30.157 40.529h-22.537l-20.617-29.004-8.387 6.723v22.281h-19.528V7.426h19.528V51.86l-1.025 16.263h.256z"></path><path d="M538.336 85.794c0 7.342-2.55 12.933-7.651 16.775-5.101 3.842-12.73 5.762-22.889 5.762-5.208 0-9.647-.352-13.318-1.056-3.671-.704-7.107-1.739-10.308-3.105V88.035c3.628 1.707 7.715 3.137 12.261 4.29 4.546 1.152 8.548 1.728 12.005 1.728 7.086 0 10.628-2.048 10.628-6.146 0-1.537-.469-2.785-1.408-3.746-.939-.96-2.561-2.048-4.866-3.265-2.305-1.216-5.378-2.636-9.22-4.258-5.506-2.305-9.551-4.439-12.133-6.402-2.582-1.964-4.46-4.215-5.634-6.755-1.174-2.54-1.761-5.666-1.761-9.38 0-6.36 2.465-11.279 7.395-14.758 4.93-3.479 11.92-5.218 20.969-5.218 8.622 0 17.009 1.878 25.162 5.634l-5.89 14.086c-3.586-1.537-6.937-2.796-10.053-3.778a31.589 31.589 0 0 0-9.54-1.472c-5.762 0-8.643 1.558-8.643 4.674 0 1.75.928 3.265 2.785 4.546 1.857 1.28 5.923 3.18 12.197 5.698 5.592 2.262 9.689 4.375 12.293 6.339 2.604 1.963 4.525 4.225 5.763 6.786 1.237 2.561 1.856 5.613 1.856 9.156zM613.093 107.051h-19.528V65.242c0-10.33-3.841-15.495-11.524-15.495-5.464 0-9.412 1.857-11.845 5.571-2.433 3.713-3.65 9.732-3.65 18.055v33.678h-19.528V7.426h19.528v20.296c0 1.58-.149 5.293-.448 11.141l-.448 5.762h1.024c4.354-7 11.269-10.5 20.745-10.5 8.409 0 14.79 2.262 19.144 6.787 4.353 4.524 6.53 11.012 6.53 19.464v46.675zM672.1 107.051l-3.778-9.732h-.512c-3.286 4.14-6.669 7.011-10.148 8.611-3.479 1.601-8.014 2.401-13.606 2.401-6.872 0-12.282-1.963-16.23-5.89-3.948-3.927-5.923-9.519-5.923-16.775 0-7.598 2.657-13.2 7.972-16.807 5.314-3.607 13.328-5.602 24.042-5.986l12.421-.384v-3.138c0-7.256-3.714-10.884-11.141-10.884-5.72 0-12.442 1.728-20.168 5.186l-6.467-13.19c8.238-4.311 17.373-6.466 27.403-6.466 9.604 0 16.967 2.091 22.089 6.274 5.123 4.183 7.684 10.543 7.684 19.08v47.7H672.1zm-5.762-33.166l-7.555.256c-5.677.171-9.903 1.195-12.678 3.074-2.774 1.878-4.161 4.738-4.161 8.579 0 5.506 3.158 8.259 9.475 8.259 4.525 0 8.142-1.301 10.853-3.905 2.71-2.604 4.066-6.061 4.066-10.372v-5.891zM739.238 34.125c2.646 0 4.845.192 6.595.576l-1.473 18.312c-1.579-.427-3.5-.641-5.762-.641-6.232 0-11.088 1.601-14.566 4.802-3.479 3.202-5.218 7.684-5.218 13.446v36.431h-19.528V35.469h14.79l2.881 12.037h.96c2.22-4.012 5.218-7.245 8.996-9.7 3.777-2.454 7.886-3.681 12.325-3.681zM779.293 48.019c-4.141 0-7.385 1.312-9.732 3.937-2.348 2.625-3.692 6.349-4.034 11.173h27.403c-.085-4.824-1.344-8.548-3.777-11.173s-5.72-3.937-9.86-3.937zm2.753 60.312c-11.525 0-20.531-3.18-27.019-9.54-6.488-6.36-9.732-15.366-9.732-27.019 0-11.994 2.998-21.267 8.996-27.819 5.997-6.552 14.288-9.828 24.874-9.828 10.116 0 17.991 2.881 23.625 8.643 5.635 5.763 8.452 13.723 8.452 23.882v9.476h-46.163c.213 5.549 1.857 9.882 4.93 12.997 3.073 3.116 7.384 4.674 12.933 4.674 4.311 0 8.388-.448 12.229-1.344 3.842-.897 7.854-2.326 12.037-4.29v15.11c-3.414 1.708-7.064 2.978-10.948 3.81-3.885.832-8.622 1.248-14.214 1.248z"></path></g><g fill="#008ff9"><path d="M101.98 83c-3.9 0-7.157 2.792-7.886 6.482-.212 1.564 0 3.123 0 3.123.73 3.687 3.986 6.477 7.885 6.477 4.434 0 8.042-3.605 8.042-8.04 0-4.434-3.608-8.042-8.042-8.042M32.041 54C27.607 54 24 57.606 24 62.041c0 4.433 3.607 8.041 8.041 8.041 4.435 0 8.042-3.608 8.042-8.041 0-4.435-3.607-8.041-8.042-8.041m69.924-12.918c4.435 0 8.042-3.608 8.042-8.041 0-4.435-3.607-8.041-8.042-8.041-3.898 0-7.155 2.791-7.885 6.48v.049s-.18 1.654 0 3.073c.73 3.689 3.987 6.48 7.885 6.48"></path><path d="M101.965 105.961c-6.965 0-12.841-4.655-14.692-11.022H73.376l-.076.043-16.575-28.517H46.592c-1.852 6.367-7.727 11.023-14.694 11.023-8.451 0-15.303-6.852-15.303-15.303 0-8.452 6.852-15.305 15.303-15.305 6.967 0 12.842 4.656 14.694 11.025h9.905l.128-.217L73.3 28.999l.141.083h13.768c1.852-6.369 7.727-11.025 14.692-11.025 8.453 0 15.305 6.853 15.305 15.305 0 8.451-6.852 15.304-15.305 15.304-6.965 0-12.84-4.656-14.692-11.025h-9.03l-14.14 24.326-.006.023.005.022L78.2 86.378h9.073c1.851-6.369 7.727-11.026 14.692-11.026 8.453 0 15.305 6.853 15.305 15.305s-6.852 15.304-15.305 15.304zM124.996 0H8.004C3.584 0 0 3.561 0 7.953v108.094C0 120.44 3.584 124 8.004 124h116.992c4.421 0 8.004-3.56 8.004-7.953V7.953C133 3.561 129.417 0 124.996 0z"></path></g></svg></a><div class="css-de1dx1"><a href="/terms">Terms</a><span>·</span><a href="/privacy">Privacy</a></div><div class="css-1h53588"><h3 class="css-12k57td">SOC 2 Type 2 Certified</h3><a href="http://www.aicpa.org/soc4so" rel="nofollow noreferrer noopener" target="_blank" title="SOC2 badge"><img src="https://img.stackshare.io/fe/SOC2.png" class="css-j1o656"/></a></div><div class="css-zr18wh"><div>Copyright © <!-- -->2022<!-- --> StackShare, Inc. </div><div>All rights reserved.</div></div><div class="css-de1dx1"><a href="/html-sitemaps/stackups/main.html">Sitemap</a></div></div></div></div></div></footer></div> <script> renderComponent('Footer','Footer-react-component-b887cc69-1029-4251-be72-f428c4a31686','Footer-apollo-state-b887cc69-1029-4251-be72-f428c4a31686','Footer-glamor-b887cc69-1029-4251-be72-f428c4a31686', 'apollo','{"isAdmin":null}'); </script>