backend/lib/seed/README.md
2025-05-14 21:45:16 +02:00

74 lines
2.4 KiB
Markdown

# Make-it Seed V5
[![](https://ci6.googleusercontent.com/proxy/2HHmNs0zn0uGJb9RqML73pX6Bmd-BntMaIYR6IpXeIHKqn2_tG60C1pLNtMHoLHOk1I5CT8k5x9gvb-C1zuudHnD5HDOpvHljVYcKmDL--rb0Ar8IT4UB7YaG1c=s0-d-e1-ft#https://makeit-assets.s3.eu-central-1.amazonaws.com/signature_sanawar.png)](https://makeit-studio.com)
![Build Status](https://travis-ci.org/joemccann/dillinger.svg?branch=master)
### GrapQL carefull
- Fields resolvers must await the response (cannot return a promise)
- Classical errors
-- Cannot determine GraphQL output type for 'xxx' of 'YOUR_CLASS' class. Does the value used as its TS type or explicit type is decorated with a proper decorator or is it a proper output value?
--- You forgot to put @ObjectType or @InputType in your class definition. Or your forgot to precise on the decorator what type of field it was @Field(() => YOUR_CLASS)
### Serverless carefull
- Test your serverless file npx sls print --config ./devOps/serverless-upload.yaml
### Installation
In order to make the seed run and setup your project you need to
- copy the account service in your application folder (see example folder)
- copy the \_\_loaders file in your application folder (see example folder)
- copy the \_\_resolvers.ts file in your application folder (see example folder)
- copy the .env file in your config folder (see example folder)
- put the correct admin email
### Domains
- run : ./node_modules/.bin/sls plugin install --name serverless-domain-manager --config ./lib/seed/serverless-domains.yaml
- run : SLS_DEBUG=\* ./node_modules/.bin/sls create_domain --config ./lib/seed/serverless-domains.yaml --aws-profile awsProfile
- to delete : SLS_DEBUG=\* ./node_modules/.bin/sls delete_domain --config ./lib/seed/serverless-domains.yaml --aws-profile awsProfile
### VSCODE CONFIG
npm i -g eslint eslint-config-prettier eslint-plugin-prettier prettier
### If you need REST APIS
npm install --save express serverless-http
Check examples/app-rest.ts
# SOME ENV CONFIG
TWILIO_FROM_NUMBER
TWILIO_ACCOUNT_SID
TWILIO_AUTH_TOKEN
# How to write tests
npm i -g graphql-zeus
Have your dev running
zeus http://localhost:4000 ./**tests/app/helpers --ts
zeus http://localhost:4001 ./**tests/admin/helpers --ts
# Search Engine
--- Free form text
(1) Create text index on searchT field
# Cronjobs
copy examples/**cronjobs to lib/**cronjobs
Add this to your package.json
"cronjobs": [
"./lib/__cronjobs",
"serverless-cron.yaml",
"handler.ts"
]