/sensible

The Shared Full Stack Typescript Framework

Primary LanguageTypeScript


website
| docs | demo

Welcome

Sensible is a full stack typescript framework that lets you build apps super quickly and smoothly. Sensible lets you easily share your code between React and React Native, and between front-end and back-end. It has never been this easy! Sensible's mission is to boost the productivity of 100.000+ Software Developers, making it as easy as possible to build high-quality full-stack mobile- and web-apps.

Curious? Just run npx sensible and see the magic, or check out the demo

Want to know more? See the docs

Installation instructions

  1. Make sure you have brew, node, npm and npx. If you don't, this is how to install them:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install node
  1. call the init command of the cli.
npx sensible init

NB, if you are on an aold version, run npx sensible@latest init to update it first.

How does it work?

Define endpoints (and other type interfaces) in a central place

define

Write your endpoint with complete typesafety

makeEndpoint

Call your endpoint with complete type-safety and autocompletion (no boilerplate needed!)

api

If you need more help, just look in the auto-generated docs!

docs

The Core Sensible Philosophy

  • 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

Demo

Check our demo here.

To run the app locally, do the following

  • clone this repo
  • follow the expo installation instructions of expo (react-native)
  • yarn in root folder
  • yarn dev in root folder
  • new terminal tab: yarn start:server in root folder
  • new terminal tab: yarn start:app in root folder. Open your camera and scan the QR code or run the app using the simulator (XCode required)
  • new terminal tab: yarn start:web in root folder (show it at http://localhost:3000)


website
| docs | demo