This is the registration form that was used for Assemble!
- Clone the repository and enter it
git clone https://github.com/hackclub/www-assemble-register.git
cd www-assemble-register
- Install packages
yarn
or
npm install
Change questions to your liking Locate
lib/manifest.jsonand edit/add/remove questions to your liking. For more information aboutmanifest.json, click hereAdd environment variables and customize Add a
.envfile with your AirTable API key set to the variableAIRTABLE. How do I get my API key? Locatelib/airtable.jsand change theregistrationsAirtablebaseID to your Airtable base ID, which is found in your Airtable URL and usually starts withapp.Enable submissions Locate
pages/index.jsand setdisabled={false}for the last<Button>element on the page.Add necessary fields to Airtable Create a new table called
Registrations.
Add fields/columns with names that match up with thekeyvalue for each question inmanifest.json. Make sure the column type matches up with question type inmanifest.jsonRun
yarn dev
or
npm run dev
Manifest is composed of an array called questions with each element inside the array representing a section of the form.headerstring is the header that is displayed at the top of the section.itemsArray<Question> is an array that contains the questions.
keystring REQUIRED must match the name of an Airtable column in Registrations
labelstring is what is shown to the usersublabelstring is a secondary label/description of the fieldtypestring REQUIRED determines what type of input field the user will see.string inputparagraph textareacheckbox checkboxselect selectinputTypestring specifies validation with type=VALUEemail email validationplaceholderstring is a placeholderoptionsArray<string> is used when select is specified as a input typeoptionalboolean determines if the input field is optionalcheckfunction(data)data is an object that contains all the other question values. Ex. data["Travel Stipends"] pulls the value of the question with "Travel Stipends" as the key.