Giter VIP home page Giter VIP logo

fw-stack's Introduction

FW-Stack

This project is built for Freshworks Freshdesk. This NodeJs application creates an automatic ticket based on the question tag. Just enter the list of tags and then this application creates a ticket to Freshdesk.

ScreeenShoot

Ticket List

Screen_1

Individual Ticket

Screen_2

Architecture

FW-Stack Arch

  • AWS DynamoDb, Lambda, Cloudwatch are required.
  • Instead of AWS Lambda, you can use setTimeout also on a backend server but it is not efficient.

Functions ๐ŸŽŸ๏ธ

Function Name Description
createTicket It accepts parameters and create a new ticket on Freshdesk
requestInfo Get questions list and transform to parameters required to create ticket
main This is the main function where questions gathered from StackOverflow and passed to next function
getLastQuestionValue It gets the last questionId inserted or checked from StackOverflow
updateLastQuestionValue It stores the fist question id so that on next time we terminate when this questionId repeats

Caution โš ๏ธ

Stackoverflow only allows 300 requests/day. If you want more frequent execution register and integrates the key from Stack Apps.

AWS Configuration

  • Create DynamoDB with two fields AppName and lastQuestion
  • Create a Lambda function with this Nodejs project
  • Add IAM permissions of Read and Write in specific DynamoDB to Lambda function
  • Add environmental variables to the lambda function
  • Enable AWS CloudWatch with the rules of trigger lambda with schedule time of your choose (5 min recommended)

Environment variables

  • Use AWS with valid IAM role permissions on that DynamoDB
  • Create a DynamoDBin AWS
  • These parameters are required for this project
  • Enter the tags you have to listen in the main function parameters
  • Config file contains the required variables
  • Change this parameters to your tag which want to lookfor.
    • const parameters = ["firebase","google-cloud"].join(",")
    • Now it looking for firebase and google-cloud
    • change tags to what you prefered
Environment variables Description
accessKeyId AWS access key
secretAccessKey AWS secret Key
region Region where DynamoDB created
DynamoDBTableName Name of the table created in AWS DynamoDB
FD_ENDPOINT Your Freshdesk app endpoint (subdomain)
API_KEY Freshdesk API key

Packages & others ๐Ÿ“ฆ

  • AWS-SDK
  • unirest
  • Freshworks REST APIs

Future plan

  • Direct reply from Freshdesk to StackOverflow
  • Upvote

fw-stack's People

Contributors

hariprasath2603 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.