Try it out here 👉 live.unroot.co.za
Or here 👉 sandbox.unroot.co.za
- Serverless Architecture: Unroot runs on AWS Lambda which is scalable and cheap.
- Scalable GraphQL server: The server uses
graphql-yoga
which is based on Apollo Server & Express. - Tooling: Out-of-the-box support for GraphQL Playground & query performance tracing.
- Extensible: Simple and flexible data model – easy to adjust and extend.
- No configuration overhead: Preconfigured
graphql-config
setup.
You need to have the Serverless installed to run the application locally or deploy it to your own AWS account:
npm install -g serverless
# 1. Install project dependencies with yarn
yarn
# 2. Export the STAGE env var
export STAGE=dev
# 3. Start server (runs on http://localhost:3000) and open GraphQL Playground
sls offline start
Same auth method as the root api, basic with api key as user and password blank.
Test using test key provided (test_key_tYILz1640w9q5n5kNQUZ
), base64 string for use in "Authorization"
header:
"Basic dGVzdF9rZXlfdFlJTHoxNjQwdzlxNW41a05RVVo6"
-
yarn start
starts GraphQL server onhttp://localhost:3000
and opens GraphQL Playground -
yarn deploy
deploys application to AWS Lambda via serverless
I haven't been able to test a bunch of queries and mutations as yet because I haven't been accepted into the private beta 💔, would love if someone with access could test some of the below and report their findings:
- Test
card
query with a valid api key - Test
transaction
query with a valid api key - Test
category
query with a valid api key - Test
contact
query with a valid api key - Test
tag
query with a valid api key
These relational queries might get a little complex.. don't want to end up in infinite loops 🤔
-
Extend
Card
type to includecode
,sensitive
andconfig_variables
-
Extend
Card
type to return relational data toTag
instead of just thetag_id
-
Extend
Transaction
type to return relational data to:Tag
,Card
,Category
&Contact
, instead of just returning their id's -
Implement
updateCard
resolver -
Implement
updateCategory
resolver -
Implement
updateContact
resolver -
Implement
updateTag
resolver -
Implement
updateTransaction
resolver