Libraries and Frameworks

Included libraries and frameworks that Create Full Stack stitches together.

Apollo

GitHub stars

Industry-standard GraphQL implementation, providing the data graph layer that connects modern apps to the cloud.

Provides an easy to use, feature-rich GraphQL client with great documentation.

Used for the frontend clients and/or server.

Auth0

Included in auth.

Authentication and user management as a service. One-click integrations with every identity provider.

AWS

Included in cloud.

Providing on-demand cloud computing platforms and APIs to individuals, companies, and governments, on a metered pay-as-you-go basis.

AWS had >5 year head start over Azure and GCP. It holds the largest market share and continues to innovate quickly.

Used for the cloud infrastructure.

Create React App

GitHub stars

Included in web.

Create React App is an officially supported way to create single-page React applications. It offers a modern build setup with no configuration.

CRA remains the most popular choice for React development. Newer alternatives, like Next.js and Gatsby, use SSR or static site generation. Neither of these approaches perform well with dynamic React sites. Many websites at the forefront of web development use client side React rendering including the makers of React (Facebook). CRA provides the best user experience for this pattern.

Expo

GitHub stars

Included in mobile.

A framework and a platform for universal React applications. It is a set of tools and services built around React Native and native platforms that help you develop, build, deploy, and quickly iterate on iOS, Android, and web apps from the same JavaScript/TypeScript codebase.

Expo removes the dependency on XCode and Android Studio for React Native development. It also enables code pushes without the need to go through the app store for updates. This comes at a cost of a larger bundle size and limited React Native module support. Like CRA, you can eject if these limitations are too significant.

GraphQL

GitHub stars

GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.

Makes queries a breeze and prevents one-off solutions you often see in the REST world. A statically typed API layer in a mono-repo ensures platforms are always in sync so services are guaranteed the data they request.

Used for the API layer.

GraphQL Generator

GitHub stars

Generate code from your GraphQL schema and operations with a simple CLI.

Used for TypeScript type and React hook Apollo client generation.

Hasura

GitHub stars

Included in the Hasura backend.

Connects to your databases & services and gives you a realtime GraphQL API, instantly.

Hasura offers a backend as a service similar to Firebase or AWS App Sync. However, Hasura runs on top of Postgres, provides clear authorization tweaking and convenient business logic hooks. Postgres guarantees data integrity in a way that Firestore (Firebase) or Dynamo DB (AWS App Sync) can never match.

Used for the server/backend.

Jest

GitHub stars

Included in the Apollo Server Express backend, web and mobile.

A delightful JavaScript Testing Framework with a focus on simplicity.

Used for testing along with ts-jest.

Material UI

GitHub stars

Included in web.

React components for faster and easier web development. Build your own design system, or start with Material Design.

The leading React web component library. Easy to extend. Fantastic documentation.

Pulumi

GitHub stars

Included in cloud.

Create, deploy, and manage infrastructure on any cloud using familiar programming languages and tools.

Currently Pulumi is the only multi-cloud production ready TypeScript solution for infrastructure as code. Alternatives are cdktf and AWS CDK. cdktf is in Beta and doesn't yet support multi stack (https://github.com/hashicorp/terraform-cdk/issues/35). AWS CDK is limited to AWS.

React

GitHub stars

Included in web.

A JavaScript library for building user interfaces.

React is the industry leading solution for web UI development with nearly every major dynamic site using it. JSX provides a declarative way of defining updates that simplifies the complexity of state managing changes.

React Navigation

GitHub stars

Included in mobile.

Routing and navigation for React Native apps. Platform-specific look-and-feel with smooth animations and gestures. React Navigation is extensible at every layerβ€” you can write your own navigators or even replace the user-facing API.

React Native

GitHub stars

Included in mobile.

Create native apps for Android and iOS using React.

Instead of using Swift, Kotlin, Objective C or Java write mobile apps with the same tools used for web. This enables code sharing with less complexity given fewer tools.

React Native Elements

GitHub stars

Included in mobile.

A cross platform React Native ui toolkit. Has a consistent design across Android and iOS.

React Router

GitHub stars

Included in web.

React Router is a collection of navigational components that compose declaratively with your application.

TypeORM

GitHub stars

Included in the Apollo Server Express backend.

A TypeScript ORM for NodeJS and Postgres.

Used for connecting Apollo Server Express to Postgres.