Startup:
- Clone this repo :)
- In current dir: Run npm install
- Move to server dir: Run npm install
Server Guide
- Configure new DB either in MongoDB or whatever you wish to use
DB Url is within the .env file and needs to be reconfigured per store - Change shopify api keys depending upon the private app and store
- Change the payment gateway api keys depending upon app and store
Current Gateways Include: Paypal and NMI - All API endpoints are unopinionated and can be reused for different funnels. There are no product specifc variables within server
- The order process API works as follows: Order details are passed through the createOrder resolver.
Order gets created in database with a status of "pending" it is not until the order has been closed will it be created in shopify. - The user can either get to the thankyou page for the order to be closed and a transaction to be captured
- Or, the cron job will look for pending orders and a timeframe, and if the order was created after that time frame. Close it out and capture a transaction.
Client Guide
- Configure gatsby-plugin.json for plugins with specific parameters, ie: the Google Analytics Plugin
- Redux wrapper is provided in gatsby config already. Not necessary to change any configuration.
- Configure apollo client for correct server url, within the gatsby-plugin-apollo directory
- All Product data is located within the product directory: update this file for store and product specific data changes, ie: Bump & OTO products
- Landing pages are located and should be created within the landers directory under the pages directory
- Images will need to be updated, as they are located in a directory labeled images, which is used to provide static rendering for best optimization & performance.
- HelmetWrapper component, located in the reusable directory is where all header pixels are located and updated.
- BodyTags Component handles all tags that have to be in the body.