Welcome, Contributors
For small fixes, feel free to send a pull request directly
To contribute larger feature work, please get in touch with Eric on Twitter or Discord.
First Steps
You will need GitHub ssh setup, yarn 1.x, and NodeJS 16 LTS.
- Check out the repo:
git clone --depth=1 git@github.com:zerve-app/zerve.git
- Install dependencies:
yarn
- Run the (simple) web app + server:
yarn dev
This should launch the API server from apps/bear-server
on localhost:3888 and the NextJS apps/zoo-web
on localhost:3000
Show me the Code!
There are a number of apps/packages/projects in the Zerve Monorepo. These are the most important:
- apps/zoo-mobile - Zerve's main React Native (Expo) mobile app
- apps/zoo-web - Zerve's default NextJS web app
- apps/bear-server - The "starter" API server with no auth, and one Store
- apps/zebra-web - The Zerve.app NextJS app
- apps/zebra-server - The Zerve.app API server
- apps/aardvark-server - The Internal Zerve API server
All of the @zerve/x
references can be found in packages/x
. These are the most important:
- packages/zed - API Logic shared on the full stack
- packages/zoo - Code shared between the web and native apps
- packages/zen - UI library for web and native apps
You can ignore the unimportant/experimental apps and packages, or ask Eric about them.
Dev the Zerve Service
This requires a SendGrid account to send emails, and a Twilio account for phone authentication.
- Copy the
secrets.template.json
tosecrets.json
and add your secret tokens - Run the production service, codenamed Zebra:
yarn dev:zebra
Internal Docs in Progress:
📄️ Zed Tools
Zed is a TypeScript library that allows you to define a type-safe API that can be consumed directly in your code, or exposed over an API. It builds on JSON schema to define types that can be serialized over the API, so client apps can safely access API features, and provide users with an easy-to-use UI for your server functionality.
📄️ Zen UI
Note: This documentation is (clearly) just a stub! Refer to the code for a more in-depth understanding on the current state of Zen UI
📄️ Zoo Framework
The 'Glue' that keeps the Zerve Monorepo together. Stay tuned.