Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
Take a look at https://github.com/jlalmes/trpc-openapi which will give you a rest endpoint based on your trpc router. Ymmv in reality but basically this should give you some confidence that your trpc router can be called from another client (not just next).
If you want a complete out of the box easy setup for web and mobile, check this rep out https://github.com/clerkinc/t3-turbo-and-clerk
I would check out NX (https://nx.dev/) to set up a monorepo to handle each app (FE + Mobile) and common api
- As far as integrating 3rd party APIs: Like most things in software, the answer is "it depends". For example, we're using contentful as the CMS for article pages on our site - for now, that implementation is fairly straightforward, and just added into the next.js package in our turborepo. We're using several external APIs for other things, including Userlist, and Stripe (probably-not-needed disclaimer: I used to work for Stripe) and Planetscale for DBaaS - every direct interaction with those 3P APIs will be tucked away in our tRPC package, because those calls shouldn't ever be exposed clientside, and they will need to be re-used in our mobile app and other Line of Business apps. Doing so is extremely straightforward, and relatively maintainable. This is how I'd recommend thinking about using Toast APIs, etc, if they have serverside requirements for making API calls (secret keys, etc)