Skip to content

dyaskur/google-chat-poll

Repository files navigation

Google Chat Poll Bot

StyleCI Github Action Scrutinizer Quality Score Coverage Status Quality Gate Status Reliability Rating Maintainability Rating Security Rating Duplicated Lines (%) Vulnerabilities Technical Debt Lines of Code

Absolute Poll is a productivity software that enables you to create polls and make quick decisions within Chat.

Screenshots:

form message

This application has been installed more than 1 million times. It is the number one and the only working poll app in the Google Apps Marketplace.

For anyone who is interested, you can install my application using the following URL: https://workspace.google.com/marketplace/app/absolute_poll/687007803052

Google Workspace Marketplace badge

I also have a landing page for the application, although I must admit it was created more out of necessity for Google's review requirements rather than as a serious component: https://absolute-poll.yaskur.com/

Original Feature:

  • Create poll
  • Record vote
  • Doesn't using any database. (Vote records are saved in chat message)

What I updated are:

  • Upgrade Card v1 to Card v2
  • Unit Test (ready to TDD)
  • Save voter names
  • Anonymous vote
  • Add more option after poll is created
  • Migrated to Typescript
  • Close the poll
  • Schedule close poll
  • Multiple choice vote(1 user can vote on more than 1 choice)

Todo:

  • Duplicate Poll
  • Save state to database
  • Schedule poll
  • Other features (suggest me please...)
  • Deno or Cloudflare worker support (hopefully can)
  • Porting to Golang (will create another repo)

Limitation:

Tips: You can test the json file on tests/json folder to https://gw-card-builder.web.app/ to view the output of the application.

This code just my learning code. That's why I don't directly migrate to TypeScript or Golang in early stage. I just want to learning nodejs and google chat apps. Feel free if you have suggestion or advice for this apps and codes.