Skip to content

Tools and Technologies

Yash Totale edited this page Mar 5, 2021 · 3 revisions

Tools & Technologies

TypeScript

We use TypeScript to add type checking to make our code more robust and maintainable.

Airtable API

We use the Airtable NPM package to read, write, and update data on the Hack4Impact Project Success Airtable.

Apps Script

We use Google Apps Scripts to create Google Forms (as there is no Google Forms API for Node) and update the Airtable data when a form is submitted. Additionally, we use clasp to develop our Apps Scripts locally.

Nodemailer

We use the Nodemailer NPM package to send reminder feedback survey emails to Hack4Impact chapters.

Linters

We use Prettier, ESLint, MarkdownLint, and EditorConfig to ensure our code style is uniform throughout the project. These tools also help us avoid Technical Debt in our code and increase maintainability.

We also use Husky and Lint-Staged to run our linters and formatters on all staged files before every commit.

GitHub Actions

We use GitHub Actions as our CI/CD pipeline. We check for lint & build errors, and push the latest versions of our Apps Scripts every time a push is made to the main branch.

Additionally, every day at 11:30 PST, we run our script with a scheduled GitHub Action.