Skip to content

Latest commit

 

History

History
120 lines (91 loc) · 3.49 KB

README.md

File metadata and controls

120 lines (91 loc) · 3.49 KB

🐱‍💻

Andromedia VideoMaker

🕹️ Andromedia VideoMaker is an automated video and slideshow creator, inspired by Filipe Deschamps' VideoMaker. Still in its initial phase, this README.md should serve to create objectives based on issues and chexkboxes.

Bebop bebop = new Bebop();

With ❤️ by juniorbotelho

#1 Project Timeline

  • create robots as services to be called by cli and api #2
  • text service and its dependencies #3
  • create the service to handle image processing #4
  • add ideas for pull requests from the original project in Filipe's repo #5
  • create a cache system to store all 'content.json' in cache folders #6

#2 Getting Started

🔑 Credentials

📩 Environment

Add the credentials of the services used to the .env file, the content is similar to the one present in the .env.example file.

# Add sentry credentials to use dashboard from sentry and capture exceptions
# Add algorithmia support to use all deep learning from algorithmia
DSN_CONNECT=""
ALGO_APIKEY=""

# Add credentials to use IBM cloud features and watson IA
# IBM Natural Languange Understanding
IBM_NLU_APIKEY=""
IBM_NLU_URL=""

# IBM Language Translation
IBM_LTD_APIKEY=""
IBM_LTD_URL=""

# Add url from unique feature to use with watson
IBM_NLU_URL=""

# Add credentials from google cloud to use all freemium services
GOOGLE_API_KEY=""
GOOGLE_SEARCH_ENGINE_ID=""

📦 Installation

Using in developer mode is very simple (see: package.json):

yarn && yarn install
yarn dev:cli

#3 Project Structure from Modules

www/Blogs.ts: The context of this module refers to any data returned by blog templates registered in the project. In the following example we use the 'geekhunter' as a request template, note that the return is a simple list structure containing the links and titles referring to the posts found.

Attention: This is just an example, the template can be created with Cheerio but this example will not work as long as a template called geekhunter.min.template is not inside temp/templates.

Context.search('react', 'geekhunter', (response, nextPage) => {
  console.log(response)

  // Go to next page in selected website or blog
  nextPage()
})

or

Context.request('front-end-developer', 'geekhunter', (response, nextPage) => {
  console.log(response)

  // Go to next page in selected website or blog
  nextPage()
})

Note that the response is a simple data structure from Context.search(), this data can be iterated through an array of content. This response does not need a promise as this has already been done behind the scenes.

response = {
  posts: [
    {
      index: 0,
      link: 'https://blog.geekhunter.com.br/como-aprender-react/',
      title: 'Como aprender React JS e dicas de carreira'
    },
    ...
  ]
}