All Projects → echobind → Bisonapp

echobind / Bisonapp

Licence: mit
A Full Stack Jamstack in-a-box brought to you by Echobind

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Bisonapp

Gridsome
⚡️ The Jamstack framework for Vue.js
Stars: ✭ 8,022 (+2391.3%)
Mutual labels:  graphql, jamstack
Gatsby Starter Lumen
A constantly evolving and thoughtful architecture for creating static blogs.
Stars: ✭ 1,797 (+458.07%)
Mutual labels:  graphql, jamstack
Next React Graphql Apollo boostrap
React + GraphQL + Next.js project architecture that I play with right now
Stars: ✭ 59 (-81.68%)
Mutual labels:  graphql, fullstack
Serverless Backend
The serverless back end for JAMstack CMS. Use this back end to deploy a custom CMS using your own front end.
Stars: ✭ 73 (-77.33%)
Mutual labels:  graphql, jamstack
Prisma Ecommerce
💰A graphql e-commerce real-world fullstack example (backoffice included)
Stars: ✭ 231 (-28.26%)
Mutual labels:  graphql, fullstack
Cms
Statamic 3: The Core Composer Package
Stars: ✭ 965 (+199.69%)
Mutual labels:  graphql, jamstack
Strapi
🚀 Open source Node.js Headless CMS to easily build customisable APIs
Stars: ✭ 41,786 (+12877.02%)
Mutual labels:  graphql, jamstack
Api Platform
Create REST and GraphQL APIs, scaffold Jamstack webapps, stream changes in real-time.
Stars: ✭ 7,144 (+2118.63%)
Mutual labels:  graphql, jamstack
Jamstack Serverless
Learn JAMstack Serverless Modern App Development in Baby Steps using Gatsby.js, React, TypeScript, GraphQL, Contentful, Netlify, FaunaDB, MongoDB, Apollo, Github Actions, Project Fugu, and CSS Houdini.
Stars: ✭ 178 (-44.72%)
Mutual labels:  graphql, jamstack
Knests
Full-stack boilerplate (project/hackathon starter) with Docker/NodeJS/Typescript/GraphQL/React/Material-UI
Stars: ✭ 156 (-51.55%)
Mutual labels:  graphql, fullstack
Gatsby Starter Foundation
A starter to launch your blazing fast personal website and a blog, Built with Gatsby and Netlify CMS. Made with ❤ by Stackrole
Stars: ✭ 135 (-58.07%)
Mutual labels:  graphql, jamstack
crisp-react
React boilerplate written in TypeScript with a variety of Jamstack and full stack deployments. Comes with SSR and without need to learn a framework. Helps to split a monolithic React app into multiple SPAs and avoid vendor lock-in.
Stars: ✭ 147 (-54.35%)
Mutual labels:  fullstack, jamstack
remult
A CRUD framework for full stack TypeScript
Stars: ✭ 1,488 (+362.11%)
Mutual labels:  fullstack, jamstack
Vue Express Mongo Boilerplate
⭐ MEVN Full stack JS web app boilerplate with NodeJS, Express, Mongo and VueJS
Stars: ✭ 2,814 (+773.91%)
Mutual labels:  graphql, fullstack
Warthog
GraphQL API Framework with strong conventions and auto-generated schema
Stars: ✭ 316 (-1.86%)
Mutual labels:  graphql
Create Graphql Server
Generate your GraphQL server one type at a time
Stars: ✭ 321 (-0.31%)
Mutual labels:  graphql
Spidey
A Microservices and GraphQL based online store
Stars: ✭ 314 (-2.48%)
Mutual labels:  graphql
Aws Lambda Graphql
Use AWS Lambda + AWS API Gateway v2 for GraphQL subscriptions over WebSocket and AWS API Gateway v1 for HTTP
Stars: ✭ 313 (-2.8%)
Mutual labels:  graphql
Gotql
GraphQL query utility for serverside apps
Stars: ✭ 322 (+0%)
Mutual labels:  graphql
Fsharp.data.graphql
FSharp implementation of Facebook GraphQL query language.
Stars: ✭ 320 (-0.62%)
Mutual labels:  graphql

Bison Logo

The Full Stack Jamstack in-a-box.

Bison is a starter repository created out of real-world apps at Echobind. It represents our team's "Greenfield Web Stack" that we use when creating web apps for clients.

We're always improving on this, and we welcome suggestions from the community!

Technology

Features

  • Preconfigured for CI using GitHub Actions
  • Customizable Hygen Templates to generate new files
  • Fully wired up login/signup pages with client and server-side validation.
  • Eslint pre-configured with Echobind best practices
  • Pre-configured for deployment on Vercel with customizable branch workflow.

Conventions

  • Don't copy/paste files, use generators and Hygen templates. Need to update the generator as your project evolves? they are all in the _templates folder.
  • Use a single command to run Next, generate Nexus types, and GraphQL types for the frontend. By doing this you can ensure your types are always up-to-date.
  • Don't manually write types for GraphQL responses... use the generated query hooks from GraphQL Codegen.
  • All frontend pages are static by default. If you need something server rendered, just add getServerSideProps like you would in any Next app.

Tradeoffs

  • To reduce complexity, Bison avoids yarn workspaces and separate top-level folders. Think of your app like a traditional monolith, but with a separate frontend and API. This means that folders may be a little more intermingled than you're used to.
  • Currently, Bison only works on Vercel. We plan to add support for Netlify soon.

Alternatives

A few other projects that are rapidly maturing in the Full Stack Jamstack space.

RedwoodJS Redwood is a very promising framework that we're watching. We took the concept of "Cells" directly from Redwood (though admittedly our version takes a bit more code!)

Blitz.js Blitz is also very promising. Blitz is built on Next.js (which we love!) and takes a very different approach by attempting to remove the API layer using conventions provided by Next.js.

We may borrow concepts from Redwood and Blitz over time or even switch to one as they continue to mature.

Think of Bison as a bit closer to the metal and preconfigured for maximum DX and efficiency. The good news is, if you disagree with any of the choices that we've made, nothing is hidden from you. You're welcome to adapt the "framework" to fit your needs.


Getting Started

Create a new repo from the Bison template.

Using yarn:

yarn create bison-app MyApp

Using npx:

npx create-bison-app MyApp

Setup the database

  1. Setup a database locally (Postgres is the only type fully supported right now)
  2. Make sure your database user has permission to create schemas and databases. We recommend using a superuser account locally to keep things easy.
  3. Setup your local database with yarn db:setup. You'll be prompted to create it if it doesn't already exist:

Prisma DB Create Prompt

Run the app locally

From the root, run yarn dev. This:

  • runs next dev to run the frontend and serverless functions locally
  • starts a watcher to generate the Prisma client on schema changes
  • starts a watcher to generate TypeScript types for GraphQL files

Next Steps

After the app is running locally, you'll want to set up deployment and CI

Docs

Have an idea to improve Bison? Let us know!


About Echobind

Echobind is a full-service digital agency that creates web and mobile apps for clients across a variety of industries.

We're experts in React, React Native, Node, GraphQL, and Rails.

If you're building a new app, your team is tackling a hard problem, or you just need help getting over the finish line, we'd love to work with you. Say hello and tell us what you're working on!

Echobind Logo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].