Advertisement
Guest User

Untitled

a guest
May 24th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. # Campaign Creation & Management System #
  2.  
  3. **Note**: this documentation is in ongoing state
  4.  
  5. This Project will help to create and execute the campaign. To simplify our process flow
  6. we have considered Campaign as series of functions. Each function depends on the previous input. And compulsory gives output
  7.  
  8. ### Function ###
  9.  
  10. * Fields required JSON schema
  11. * Output JSON schema
  12. * Trigger
  13. * Action
  14. * Fetch (internal to function)
  15.  
  16. f(defaultInputFromUI, previousFunctionOutput) => output + mutation (like sending email, sms, pushnotification etc.)
  17.  
  18. ### Transducer Function ###
  19.  
  20. Each function will have a different type of input and different type of output.
  21. It will just convert the data structure of input to desired structure.
  22.  
  23.  
  24. ### Cron ###
  25.  
  26. Cron task will check constraint of the process and execute as per input.
  27.  
  28. ### Database Structure ###
  29.  
  30. * campaign
  31. * campaign_id
  32. * desciption
  33. * start_timestamp
  34. * end_timestamp
  35. * process
  36. * campaign_id
  37. * default_input
  38. * input
  39. * reference_process_id
  40. * output
  41. * function_name
  42. * transducer_name (convert input to differnt output, default null)
  43. * schedule (e.g. daily at 5:30 in cron format or other format)
  44. * start_timestamp
  45. * end_timestamp (e.g. every process should have limit.)
  46. * state: enum(started, running, pending) useful if process failed
  47. * notification (will be used to notify fronend user)
  48. * notification_id
  49. * type
  50. * notification_data
  51. * read (default false)
  52. * read_timesatmp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement