Interest form
Built with React, Express and Google APIs
Motivation
This Webform was created as a custom way for companies to show their interest in the itDAGENE tech fair. In essence it exists to reduce the TO and FROM mail sequence which used to take place each year, eating time from both the board members and the companies.
The Webform supports both Norwegian and English submissions, and records the preference for further communications with the company. It also allows the tech fair to get a overview of what companies are interested this year, and with the different fields they can also get an understanding of what each company want.
The initial intent is for the form to launch each year after the fair is ended, and stay open for as long as the next board wants it too. The intent is also NOT to use the list as a first-come-first-serve as this is something we want to move away from.
Another initial intent was for the form to act as a waiting-list after the tech fair is full. This will allow companies to continue to note their interest even after the fair is full.
API Repository
This Webform has a supporting API. The API image must be built and deployed as its supports the POST of the form.
Development
Some environment variables must be set for the Webform and API to work.
- For the Webform you need to supply the
RECAPTCHA_SITEKEY
and theYEAR
you want to display. - For the API you need to supply the
EMAIL
that sends the confirmation email. You also need to supply theRECAPTCHA_SECRET
part of the captcha-pair. Lastly you need to supply theSHEET_ID
of the google-sheet that you want the API to write to.
Google test keys can be used for reCAPTCHA, see the google docs
Webform
All commands under should be run from the folder itdagene-interest
REACT_APP_RECAPTCHA_SITEKEY
: The site recatcha key consumed by the form componentREACT_APP_YEAR
: What year of itdagene should this form be
# Install dependencies
$ yarn
# Start the dev server
$ yarn start
API
All commands under should be run from the folder itdagene-interest-api
EMAIL
: The email address confirmation emails are sent fromYEAR
: What year of itdagene should this form beSHEET_ID
: The sheet id for the google sheet the form will editRECAPTCHA_SECRET
: The secret recatcha key used to verify a user response
# Start the nodemon server for development
$ yarn dev