ukstv / Nietzsche

Scrap quotes from Goodreads and schedule random tweets.

Home Page:https://twitter.com/TolleZitate

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nietzsche

serverless Open Source Love FOSSA Status

A Serverless application that fetches quotes from Goodreads and saves it to DynamoDB. (About 88K+ unique quotes)

It also includes:

  1. Quotes Search API
  2. Tweet Quotes

Architecture

High Level Block Diagram

logo

Quote Tweet State Machine

logo

Requirements

  1. AWS CLI
  2. Serverless

Setup

  1. Get Twitter API keys
  2. aws ssm put-parameter --name nietzsche-twitter-consumer-secret --type String --value $CONSUMER_SECRET --profile default --overwrite --region eu-west-1
  3. aws ssm put-parameter --name nietzsche-twitter-consumer-key --type String --value $CONSUMER_KEY --profile default --overwrite --region eu-west-1
  4. aws ssm put-parameter --name nietzsche-twitter-access-token --type String --value $ACCESS_TOKEN --profile default --overwrite --region eu-west-1
  5. aws ssm put-parameter --name nietzsche-twitter-access-token-secret --type String --value $ACCESS_TOKEN_SECRET --profile default --overwrite --region eu-west-1
  6. npm i

Deploy

npm run deploy

Invoke

Start Quotes Scrapping Job

serverless invoke -f dispatchScrappers --stage prod

Tweet Random Quote

serverless invoke stepf --name tweetQuoteStateMachine --stage prod

Contribute

Help make this app better and future proof.

  • Clone the code
  • Install the dependencies with npm install
  • Create a feature branch git checkout -b new_feature
  • Lint with standard npm run lint

License

This software is released under the MIT license. See the license file for more details.

FOSSA Status

About

Scrap quotes from Goodreads and schedule random tweets.

https://twitter.com/TolleZitate

License:MIT License


Languages

Language:JavaScript 100.0%