Typerepo was built with a couple of things in mind. This is what we care about:
- Codebase introspection (Documentation generation)
- Full-stack code-sharing (full-stack auto-completion using Typescript)
- Maximise learnability, minimise tech debt, simplify onboarding
- Decentralised, Open Source, Automatic
We have templates to easly create new apps.
- For Web applications, React with Next.js is used
- For Android and iOS applications, React Native with Expo is used
- For REST APIs we use Server.js on Node JS
- For CLIβs and Scripts we use raw Node JS
- There's also a bare javascript template you can use
We're planning to also make templates for the following:
- For MacOS, Windows and Linux applications, we want to use React with Electron
- For VSCode Extensions we want to use bare React!
- For Chrome Extensions we use React with MV3
Together, this creates a very powerful setup. Typerepo isnβt a single framework trying to build on multiple places. This would be very hard. Typerepo tries to keep all the good stuff and use the best framework for every location, and make it easy to share code.
We use the following libraries in the Typerepo app.
react-with-native is a framework that lets us render HTML-like components inside react-native. By replacing all html with the react-with-native counterparts (for example, using <Div>
over <div>
), we are able to share code between react-native
and react
and can share all UI between any app using our ui
package. For more information, check https://reactwithnative.com/
This Node.js server lets us define endpoints in a simpler way which made it possible to get type safety for the endpoints. For more information, check out https://serverjs.io
This layer on top of CSS is used within react-with-native and makes it possible to have the same styling in react and react-native apps. For more information, check https://tailwindcss.com
Every Typerepo project must adhere the following structure:
apps
all applications, including a server, web, and mobile appspackages
all packages that need to be shared between multiple appsdocs
markdown files that need to be presented in the Typerepo Docs to educate the developer of the project.assets
any assets that don't belong to an app or package.schemas
generated folder with the JSON typescript definitions
Typerepo was built with a couple of things in mind. This is what we care about:
- Codebase introspection (Documentation generation)
- Full-stack code-sharing (full-stack auto-completion using Typescript)
- Maximise learnability, minimise tech debt, simplify onboarding
- Decentralised, Open Source, Automatic
We have templates to easly create new apps.
- For Web applications, React with Next.js is used
- For Android and iOS applications, React Native with Expo is used
- For REST APIs we use Server.js on Node JS
- For CLIβs and Scripts we use raw Node JS
- There's also a bare javascript template you can use
We're planning to also make templates for the following:
- For MacOS, Windows and Linux applications, we want to use React with Electron
- For VSCode Extensions we want to use bare React!
- For Chrome Extensions we use React with MV3
Together, this creates a very powerful setup. Typerepo isnβt a single framework trying to build on multiple places. This would be very hard. Typerepo tries to keep all the good stuff and use the best framework for every location, and make it easy to share code.
We use the following libraries in the Typerepo app.
react-with-native is a framework that lets us render HTML-like components inside react-native. By replacing all html with the react-with-native counterparts (for example, using <Div>
over <div>
), we are able to share code between react-native
and react
and can share all UI between any app using our ui
package. For more information, check https://reactwithnative.com/
This Node.js server lets us define endpoints in a simpler way which made it possible to get type safety for the endpoints. For more information, check out https://serverjs.io
This layer on top of CSS is used within react-with-native and makes it possible to have the same styling in react and react-native apps. For more information, check https://tailwindcss.com
Every Typerepo project must adhere the following structure:
apps
all applications, including a server, web, and mobile appspackages
all packages that need to be shared between multiple appsdocs
markdown files that need to be presented in the Typerepo Docs to educate the developer of the project.assets
any assets that don't belong to an app or package.schemas
generated folder with the JSON typescript definitions