Repository files navigation

Quill

Registration, for hackers!

Quill is a registration system designed especially for hackathons. For hackers, itโ€™s a clean and streamlined interface to submit registration and confirmation information. For hackathon organizers, itโ€™s an easy way to manage applications, view registration stats, and more!

Login Splash

Features

Quill for Users

Dashboard

Dashboard

After users login, the Dashboard displays the userโ€™s application status and status-specific prompts to resend a verification email, view/edit their application or confirmation forms.

Statuses:

  • Unverified: users have not verified the email address they registered with
  • Incomplete, registration open: the user has not submitted their application, but the registration deadline has not passed
  • Incomplete, registration closed: the user has not submitted, but the registration deadline has passed
  • Submitted, registration open
  • Submitted, registration closed
  • Admitted / unconfirmed: the user has been admitted to the event, but has not confirmed their attendance and submitted their confirmation form
  • Admitted / confirmation deadline passed: the user has been admitted, but did not confirm their attendance before the deadline
  • Waitlisted: the user was not admitted to the event
  • Confirmed: the user has been admitted and has confirmed their attendance
  • User declined admission: the user has been admitted, but will not be attending the event

Application

Application

The Application tab takes users to their registration or confirmation form. It has the addition of a resume uploading feature that backends into an AWS S3 Bucket.

Team Registration

Hackathons commonly allow participants to register and be admitted as a team. The Team tab allows users to create or join a team with other users.

Quill for Admins

Admins can view stats, look through applications, or edit settings from the Admin panel.

Stats

Stats

The Stats tab summarizes useful registration statistics on the number of users in each stage of the process, demographic information, and miscellaneous event preferences like shirt sizes, dietary restrictions, or reimbursement requests.

Users Table

Users table

The Users tab displays a table of users where admins can:

  1. Search for a user by name
  2. Quick-view user applications in a pop-up modal
  3. See a userโ€™s application status (verified, submitted, admitted, and confirmed) at-a-glance
  4. See responses to other miscellaneous fields on the application
  5. Open and edit an individual application
  6. Admit users manually
  7. Mark users as checked-in at the event day-of

Settings

Settings

On the Settings tab, admins can easily control their event application timeline by setting registration / confirmation deadlines. They can also write custom waitlist, acceptance, and confirmation copy that users will see on their dashboard throughout the application process. The custom copy is interpreted as Markdown, so HTML and images can be added.

Setup

Quick deploy with Heroku

Deploy

Deploying locally

Getting a local instance of Quill up and running takes less than 5 minutes! Start by setting up the database. Ideally, you should run MongoDB as a daemon with a secure configuration (with most linux distributions, you should be able to install it with your package manager, and it'll be set up as a daemon). Although not recommended for production, when running locally for development, you could do it like this

mkdir db
mongod --dbpath db --bind_ip 127.0.0.1 --nohttpinterface

Install the necessary dependencies:

npm install
bower install
npm run config

Edit the configuration file in .env for your setup, and then run the application:

gulp server

Customizing for your event

If you're using Quill for your event, please add yourself to this list. It takes less than a minute, but knowing that our software is helping real events keeps us going โ™ฅ

Copy

If youโ€™d like to customize the text that users see on their dashboards, edit them at client/src/constants.js.

Branding / Assets

Customize the color scheme and hosted assets by editing client/stylesheets/_custom.scss. Donโ€™t forget to use your own email banner, favicon, and logo (color/white) in the assets/images/ folder as well!

Application questions

If you want to change the application questions, edit:

  • client/views/application/
  • server/models/User.js
  • client/views/admin/user/ and client/views/admin/users/ to render the updated form properly in the admin view

If you want stats for your new fields:

  • Recalculate them in server/services/stats.js
  • Display them on the admin panel by editing client/views/admin/stats/

Email Templates

To customize the verification and confirmation emails for your event, put your new email templates in server/templates/ and edit server/services/email.js

Contributing

Contributions to Quill are welcome and appreciated! Please take a look at CONTRIBUTING.md first.

McHacks

For McHacks specific questions and changes, contact Kyle Rubenok kyle@mchacks.ca.

License

Copyright (c) 2015-2016 Edwin Zhang (https://github.com/ehzhang). Released under AGPLv3. See LICENSE.txt for details.

About

๐Ÿ“ Registration, for HackLyon!

Resources

Contributing

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Quill

Registration, for hackers!

Quill is a registration system designed especially for hackathons. For hackers, itโ€™s a clean and streamlined interface to submit registration and confirmation information. For hackathon organizers, itโ€™s an easy way to manage applications, view registration stats, and more!

Login Splash

Features

Quill for Users

Dashboard

Dashboard

After users login, the Dashboard displays the userโ€™s application status and status-specific prompts to resend a verification email, view/edit their application or confirmation forms.

Statuses:

  • Unverified: users have not verified the email address they registered with
  • Incomplete, registration open: the user has not submitted their application, but the registration deadline has not passed
  • Incomplete, registration closed: the user has not submitted, but the registration deadline has passed
  • Submitted, registration open
  • Submitted, registration closed
  • Admitted / unconfirmed: the user has been admitted to the event, but has not confirmed their attendance and submitted their confirmation form
  • Admitted / confirmation deadline passed: the user has been admitted, but did not confirm their attendance before the deadline
  • Waitlisted: the user was not admitted to the event
  • Confirmed: the user has been admitted and has confirmed their attendance
  • User declined admission: the user has been admitted, but will not be attending the event

Application

Application

The Application tab takes users to their registration or confirmation form. It has the addition of a resume uploading feature that backends into an AWS S3 Bucket.

Team Registration

Hackathons commonly allow participants to register and be admitted as a team. The Team tab allows users to create or join a team with other users.

Quill for Admins

Admins can view stats, look through applications, or edit settings from the Admin panel.

Stats

Stats

The Stats tab summarizes useful registration statistics on the number of users in each stage of the process, demographic information, and miscellaneous event preferences like shirt sizes, dietary restrictions, or reimbursement requests.

Users Table

Users table

The Users tab displays a table of users where admins can:

  1. Search for a user by name
  2. Quick-view user applications in a pop-up modal
  3. See a userโ€™s application status (verified, submitted, admitted, and confirmed) at-a-glance
  4. See responses to other miscellaneous fields on the application
  5. Open and edit an individual application
  6. Admit users manually
  7. Mark users as checked-in at the event day-of

Settings

Settings

On the Settings tab, admins can easily control their event application timeline by setting registration / confirmation deadlines. They can also write custom waitlist, acceptance, and confirmation copy that users will see on their dashboard throughout the application process. The custom copy is interpreted as Markdown, so HTML and images can be added.

Setup

Quick deploy with Heroku

Deploy

Deploying locally

Getting a local instance of Quill up and running takes less than 5 minutes! Start by setting up the database. Ideally, you should run MongoDB as a daemon with a secure configuration (with most linux distributions, you should be able to install it with your package manager, and it'll be set up as a daemon). Although not recommended for production, when running locally for development, you could do it like this

mkdir db
mongod --dbpath db --bind_ip 127.0.0.1 --nohttpinterface

Install the necessary dependencies:

npm install
bower install
npm run config

Edit the configuration file in .env for your setup, and then run the application:

gulp server

Customizing for your event

If you're using Quill for your event, please add yourself to this list. It takes less than a minute, but knowing that our software is helping real events keeps us going โ™ฅ

Copy

If youโ€™d like to customize the text that users see on their dashboards, edit them at client/src/constants.js.

Branding / Assets

Customize the color scheme and hosted assets by editing client/stylesheets/_custom.scss. Donโ€™t forget to use your own email banner, favicon, and logo (color/white) in the assets/images/ folder as well!

Application questions

If you want to change the application questions, edit:

  • client/views/application/
  • server/models/User.js
  • client/views/admin/user/ and client/views/admin/users/ to render the updated form properly in the admin view

If you want stats for your new fields:

  • Recalculate them in server/services/stats.js
  • Display them on the admin panel by editing client/views/admin/stats/

Email Templates

To customize the verification and confirmation emails for your event, put your new email templates in server/templates/ and edit server/services/email.js

Contributing

Contributions to Quill are welcome and appreciated! Please take a look at CONTRIBUTING.md first.

McHacks

For McHacks specific questions and changes, contact Kyle Rubenok kyle@mchacks.ca.

License

Copyright (c) 2015-2016 Edwin Zhang (https://github.com/ehzhang). Released under AGPLv3. See LICENSE.txt for details.

About

๐Ÿ“ Registration, for HackLyon!

Resources

Contributing

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Quill

Registration, for hackers!

Quill is a registration system designed especially for hackathons. For hackers, itโ€™s a clean and streamlined interface to submit registration and confirmation information. For hackathon organizers, itโ€™s an easy way to manage applications, view registration stats, and more!

Login Splash

Features

Quill for Users

Dashboard

Dashboard

After users login, the Dashboard displays the userโ€™s application status and status-specific prompts to resend a verification email, view/edit their application or confirmation forms.

Statuses:

  • Unverified: users have not verified the email address they registered with
  • Incomplete, registration open: the user has not submitted their application, but the registration deadline has not passed
  • Incomplete, registration closed: the user has not submitted, but the registration deadline has passed
  • Submitted, registration open
  • Submitted, registration closed
  • Admitted / unconfirmed: the user has been admitted to the event, but has not confirmed their attendance and submitted their confirmation form
  • Admitted / confirmation deadline passed: the user has been admitted, but did not confirm their attendance before the deadline
  • Waitlisted: the user was not admitted to the event
  • Confirmed: the user has been admitted and has confirmed their attendance
  • User declined admission: the user has been admitted, but will not be attending the event

Application

Application

The Application tab takes users to their registration or confirmation form. It has the addition of a resume uploading feature that backends into an AWS S3 Bucket.

Team Registration

Hackathons commonly allow participants to register and be admitted as a team. The Team tab allows users to create or join a team with other users.

Quill for Admins

Admins can view stats, look through applications, or edit settings from the Admin panel.

Stats

Stats

The Stats tab summarizes useful registration statistics on the number of users in each stage of the process, demographic information, and miscellaneous event preferences like shirt sizes, dietary restrictions, or reimbursement requests.

Users Table

Users table

The Users tab displays a table of users where admins can:

  1. Search for a user by name
  2. Quick-view user applications in a pop-up modal
  3. See a userโ€™s application status (verified, submitted, admitted, and confirmed) at-a-glance
  4. See responses to other miscellaneous fields on the application
  5. Open and edit an individual application
  6. Admit users manually
  7. Mark users as checked-in at the event day-of

Settings

Settings

On the Settings tab, admins can easily control their event application timeline by setting registration / confirmation deadlines. They can also write custom waitlist, acceptance, and confirmation copy that users will see on their dashboard throughout the application process. The custom copy is interpreted as Markdown, so HTML and images can be added.

Setup

Quick deploy with Heroku

Deploy

Deploying locally

Getting a local instance of Quill up and running takes less than 5 minutes! Start by setting up the database. Ideally, you should run MongoDB as a daemon with a secure configuration (with most linux distributions, you should be able to install it with your package manager, and it'll be set up as a daemon). Although not recommended for production, when running locally for development, you could do it like this

mkdir db
mongod --dbpath db --bind_ip 127.0.0.1 --nohttpinterface

Install the necessary dependencies:

npm install
bower install
npm run config

Edit the configuration file in .env for your setup, and then run the application:

gulp server

Customizing for your event

If you're using Quill for your event, please add yourself to this list. It takes less than a minute, but knowing that our software is helping real events keeps us going โ™ฅ

Copy

If youโ€™d like to customize the text that users see on their dashboards, edit them at client/src/constants.js.

Branding / Assets

Customize the color scheme and hosted assets by editing client/stylesheets/_custom.scss. Donโ€™t forget to use your own email banner, favicon, and logo (color/white) in the assets/images/ folder as well!

Application questions

If you want to change the application questions, edit:

  • client/views/application/
  • server/models/User.js
  • client/views/admin/user/ and client/views/admin/users/ to render the updated form properly in the admin view

If you want stats for your new fields:

  • Recalculate them in server/services/stats.js
  • Display them on the admin panel by editing client/views/admin/stats/

Email Templates

To customize the verification and confirmation emails for your event, put your new email templates in server/templates/ and edit server/services/email.js

Contributing

Contributions to Quill are welcome and appreciated! Please take a look at CONTRIBUTING.md first.

McHacks

For McHacks specific questions and changes, contact Kyle Rubenok kyle@mchacks.ca.

License

Copyright (c) 2015-2016 Edwin Zhang (https://github.com/ehzhang). Released under AGPLv3. See LICENSE.txt for details.

About

๐Ÿ“ Registration, for HackLyon!

Resources

Contributing

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Quill

Registration, for hackers!

Quill is a registration system designed especially for hackathons. For hackers, itโ€™s a clean and streamlined interface to submit registration and confirmation information. For hackathon organizers, itโ€™s an easy way to manage applications, view registration stats, and more!

Login Splash

Features

Quill for Users

Dashboard

Dashboard

After users login, the Dashboard displays the userโ€™s application status and status-specific prompts to resend a verification email, view/edit their application or confirmation forms.

Statuses:

  • Unverified: users have not verified the email address they registered with
  • Incomplete, registration open: the user has not submitted their application, but the registration deadline has not passed
  • Incomplete, registration closed: the user has not submitted, but the registration deadline has passed
  • Submitted, registration open
  • Submitted, registration closed
  • Admitted / unconfirmed: the user has been admitted to the event, but has not confirmed their attendance and submitted their confirmation form
  • Admitted / confirmation deadline passed: the user has been admitted, but did not confirm their attendance before the deadline
  • Waitlisted: the user was not admitted to the event
  • Confirmed: the user has been admitted and has confirmed their attendance
  • User declined admission: the user has been admitted, but will not be attending the event

Application

Application

The Application tab takes users to their registration or confirmation form. It has the addition of a resume uploading feature that backends into an AWS S3 Bucket.

Team Registration

Hackathons commonly allow participants to register and be admitted as a team. The Team tab allows users to create or join a team with other users.

Quill for Admins

Admins can view stats, look through applications, or edit settings from the Admin panel.

Stats

Stats

The Stats tab summarizes useful registration statistics on the number of users in each stage of the process, demographic information, and miscellaneous event preferences like shirt sizes, dietary restrictions, or reimbursement requests.

Users Table

Users table

The Users tab displays a table of users where admins can:

  1. Search for a user by name
  2. Quick-view user applications in a pop-up modal
  3. See a userโ€™s application status (verified, submitted, admitted, and confirmed) at-a-glance
  4. See responses to other miscellaneous fields on the application
  5. Open and edit an individual application
  6. Admit users manually
  7. Mark users as checked-in at the event day-of

Settings

Settings

On the Settings tab, admins can easily control their event application timeline by setting registration / confirmation deadlines. They can also write custom waitlist, acceptance, and confirmation copy that users will see on their dashboard throughout the application process. The custom copy is interpreted as Markdown, so HTML and images can be added.

Setup

Quick deploy with Heroku

Deploy

Deploying locally

Getting a local instance of Quill up and running takes less than 5 minutes! Start by setting up the database. Ideally, you should run MongoDB as a daemon with a secure configuration (with most linux distributions, you should be able to install it with your package manager, and it'll be set up as a daemon). Although not recommended for production, when running locally for development, you could do it like this

mkdir db
mongod --dbpath db --bind_ip 127.0.0.1 --nohttpinterface

Install the necessary dependencies:

npm install
bower install
npm run config

Edit the configuration file in .env for your setup, and then run the application:

gulp server

Customizing for your event

If you're using Quill for your event, please add yourself to this list. It takes less than a minute, but knowing that our software is helping real events keeps us going โ™ฅ

Copy

If youโ€™d like to customize the text that users see on their dashboards, edit them at client/src/constants.js.

Branding / Assets

Customize the color scheme and hosted assets by editing client/stylesheets/_custom.scss. Donโ€™t forget to use your own email banner, favicon, and logo (color/white) in the assets/images/ folder as well!

Application questions

If you want to change the application questions, edit:

  • client/views/application/
  • server/models/User.js
  • client/views/admin/user/ and client/views/admin/users/ to render the updated form properly in the admin view

If you want stats for your new fields:

  • Recalculate them in server/services/stats.js
  • Display them on the admin panel by editing client/views/admin/stats/

Email Templates

To customize the verification and confirmation emails for your event, put your new email templates in server/templates/ and edit server/services/email.js

Contributing

Contributions to Quill are welcome and appreciated! Please take a look at CONTRIBUTING.md first.

McHacks

For McHacks specific questions and changes, contact Kyle Rubenok kyle@mchacks.ca.

License

Copyright (c) 2015-2016 Edwin Zhang (https://github.com/ehzhang). Released under AGPLv3. See LICENSE.txt for details.

About

๐Ÿ“ Registration, for HackLyon!

Resources

Contributing

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Quill

Registration, for hackers!

Quill is a registration system designed especially for hackathons. For hackers, itโ€™s a clean and streamlined interface to submit registration and confirmation information. For hackathon organizers, itโ€™s an easy way to manage applications, view registration stats, and more!

Login Splash

Features

Quill for Users

Dashboard

Dashboard

After users login, the Dashboard displays the userโ€™s application status and status-specific prompts to resend a verification email, view/edit their application or confirmation forms.

Statuses:

  • Unverified: users have not verified the email address they registered with
  • Incomplete, registration open: the user has not submitted their application, but the registration deadline has not passed
  • Incomplete, registration closed: the user has not submitted, but the registration deadline has passed
  • Submitted, registration open
  • Submitted, registration closed
  • Admitted / unconfirmed: the user has been admitted to the event, but has not confirmed their attendance and submitted their confirmation form
  • Admitted / confirmation deadline passed: the user has been admitted, but did not confirm their attendance before the deadline
  • Waitlisted: the user was not admitted to the event
  • Confirmed: the user has been admitted and has confirmed their attendance
  • User declined admission: the user has been admitted, but will not be attending the event

Application

Application

The Application tab takes users to their registration or confirmation form. It has the addition of a resume uploading feature that backends into an AWS S3 Bucket.

Team Registration

Hackathons commonly allow participants to register and be admitted as a team. The Team tab allows users to create or join a team with other users.

Quill for Admins

Admins can view stats, look through applications, or edit settings from the Admin panel.

Stats

Stats

The Stats tab summarizes useful registration statistics on the number of users in each stage of the process, demographic information, and miscellaneous event preferences like shirt sizes, dietary restrictions, or reimbursement requests.

Users Table

Users table

The Users tab displays a table of users where admins can:

  1. Search for a user by name
  2. Quick-view user applications in a pop-up modal
  3. See a userโ€™s application status (verified, submitted, admitted, and confirmed) at-a-glance
  4. See responses to other miscellaneous fields on the application
  5. Open and edit an individual application
  6. Admit users manually
  7. Mark users as checked-in at the event day-of

Settings

Settings

On the Settings tab, admins can easily control their event application timeline by setting registration / confirmation deadlines. They can also write custom waitlist, acceptance, and confirmation copy that users will see on their dashboard throughout the application process. The custom copy is interpreted as Markdown, so HTML and images can be added.

Setup

Quick deploy with Heroku

Deploy

Deploying locally

Getting a local instance of Quill up and running takes less than 5 minutes! Start by setting up the database. Ideally, you should run MongoDB as a daemon with a secure configuration (with most linux distributions, you should be able to install it with your package manager, and it'll be set up as a daemon). Although not recommended for production, when running locally for development, you could do it like this

mkdir db
mongod --dbpath db --bind_ip 127.0.0.1 --nohttpinterface

Install the necessary dependencies:

npm install
bower install
npm run config

Edit the configuration file in .env for your setup, and then run the application:

gulp server

Customizing for your event

If you're using Quill for your event, please add yourself to this list. It takes less than a minute, but knowing that our software is helping real events keeps us going โ™ฅ

Copy

If youโ€™d like to customize the text that users see on their dashboards, edit them at client/src/constants.js.

Branding / Assets

Customize the color scheme and hosted assets by editing client/stylesheets/_custom.scss. Donโ€™t forget to use your own email banner, favicon, and logo (color/white) in the assets/images/ folder as well!

Application questions

If you want to change the application questions, edit:

  • client/views/application/
  • server/models/User.js
  • client/views/admin/user/ and client/views/admin/users/ to render the updated form properly in the admin view

If you want stats for your new fields:

  • Recalculate them in server/services/stats.js
  • Display them on the admin panel by editing client/views/admin/stats/

Email Templates

To customize the verification and confirmation emails for your event, put your new email templates in server/templates/ and edit server/services/email.js

Contributing

Contributions to Quill are welcome and appreciated! Please take a look at CONTRIBUTING.md first.

McHacks

For McHacks specific questions and changes, contact Kyle Rubenok kyle@mchacks.ca.

License

Copyright (c) 2015-2016 Edwin Zhang (https://github.com/ehzhang). Released under AGPLv3. See LICENSE.txt for details.

About

๐Ÿ“ Registration, for HackLyon!

Resources

Contributing

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Quill

Registration, for hackers!

Quill is a registration system designed especially for hackathons. For hackers, itโ€™s a clean and streamlined interface to submit registration and confirmation information. For hackathon organizers, itโ€™s an easy way to manage applications, view registration stats, and more!

Login Splash

Features

Quill for Users

Dashboard

Dashboard

After users login, the Dashboard displays the userโ€™s application status and status-specific prompts to resend a verification email, view/edit their application or confirmation forms.

Statuses:

  • Unverified: users have not verified the email address they registered with
  • Incomplete, registration open: the user has not submitted their application, but the registration deadline has not passed
  • Incomplete, registration closed: the user has not submitted, but the registration deadline has passed
  • Submitted, registration open
  • Submitted, registration closed
  • Admitted / unconfirmed: the user has been admitted to the event, but has not confirmed their attendance and submitted their confirmation form
  • Admitted / confirmation deadline passed: the user has been admitted, but did not confirm their attendance before the deadline
  • Waitlisted: the user was not admitted to the event
  • Confirmed: the user has been admitted and has confirmed their attendance
  • User declined admission: the user has been admitted, but will not be attending the event

Application

Application

The Application tab takes users to their registration or confirmation form. It has the addition of a resume uploading feature that backends into an AWS S3 Bucket.

Team Registration

Hackathons commonly allow participants to register and be admitted as a team. The Team tab allows users to create or join a team with other users.

Quill for Admins

Admins can view stats, look through applications, or edit settings from the Admin panel.

Stats

Stats

The Stats tab summarizes useful registration statistics on the number of users in each stage of the process, demographic information, and miscellaneous event preferences like shirt sizes, dietary restrictions, or reimbursement requests.

Users Table

Users table

The Users tab displays a table of users where admins can:

  1. Search for a user by name
  2. Quick-view user applications in a pop-up modal
  3. See a userโ€™s application status (verified, submitted, admitted, and confirmed) at-a-glance
  4. See responses to other miscellaneous fields on the application
  5. Open and edit an individual application
  6. Admit users manually
  7. Mark users as checked-in at the event day-of

Settings

Settings

On the Settings tab, admins can easily control their event application timeline by setting registration / confirmation deadlines. They can also write custom waitlist, acceptance, and confirmation copy that users will see on their dashboard throughout the application process. The custom copy is interpreted as Markdown, so HTML and images can be added.

Setup

Quick deploy with Heroku

Deploy

Deploying locally

Getting a local instance of Quill up and running takes less than 5 minutes! Start by setting up the database. Ideally, you should run MongoDB as a daemon with a secure configuration (with most linux distributions, you should be able to install it with your package manager, and it'll be set up as a daemon). Although not recommended for production, when running locally for development, you could do it like this

mkdir db
mongod --dbpath db --bind_ip 127.0.0.1 --nohttpinterface

Install the necessary dependencies:

npm install
bower install
npm run config

Edit the configuration file in .env for your setup, and then run the application:

gulp server

Customizing for your event

If you're using Quill for your event, please add yourself to this list. It takes less than a minute, but knowing that our software is helping real events keeps us going โ™ฅ

Copy

If youโ€™d like to customize the text that users see on their dashboards, edit them at client/src/constants.js.

Branding / Assets

Customize the color scheme and hosted assets by editing client/stylesheets/_custom.scss. Donโ€™t forget to use your own email banner, favicon, and logo (color/white) in the assets/images/ folder as well!

Application questions

If you want to change the application questions, edit:

  • client/views/application/
  • server/models/User.js
  • client/views/admin/user/ and client/views/admin/users/ to render the updated form properly in the admin view

If you want stats for your new fields:

  • Recalculate them in server/services/stats.js
  • Display them on the admin panel by editing client/views/admin/stats/

Email Templates

To customize the verification and confirmation emails for your event, put your new email templates in server/templates/ and edit server/services/email.js

Contributing

Contributions to Quill are welcome and appreciated! Please take a look at CONTRIBUTING.md first.

McHacks

For McHacks specific questions and changes, contact Kyle Rubenok kyle@mchacks.ca.

License

Copyright (c) 2015-2016 Edwin Zhang (https://github.com/ehzhang). Released under AGPLv3. See LICENSE.txt for details.

About

๐Ÿ“ Registration, for HackLyon!

Resources

Contributing

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Quill

Registration, for hackers!

Quill is a registration system designed especially for hackathons. For hackers, itโ€™s a clean and streamlined interface to submit registration and confirmation information. For hackathon organizers, itโ€™s an easy way to manage applications, view registration stats, and more!

Login Splash

Features

Quill for Users

Dashboard

Dashboard

After users login, the Dashboard displays the userโ€™s application status and status-specific prompts to resend a verification email, view/edit their application or confirmation forms.

Statuses:

  • Unverified: users have not verified the email address they registered with
  • Incomplete, registration open: the user has not submitted their application, but the registration deadline has not passed
  • Incomplete, registration closed: the user has not submitted, but the registration deadline has passed
  • Submitted, registration open
  • Submitted, registration closed
  • Admitted / unconfirmed: the user has been admitted to the event, but has not confirmed their attendance and submitted their confirmation form
  • Admitted / confirmation deadline passed: the user has been admitted, but did not confirm their attendance before the deadline
  • Waitlisted: the user was not admitted to the event
  • Confirmed: the user has been admitted and has confirmed their attendance
  • User declined admission: the user has been admitted, but will not be attending the event

Application

Application

The Application tab takes users to their registration or confirmation form. It has the addition of a resume uploading feature that backends into an AWS S3 Bucket.

Team Registration

Hackathons commonly allow participants to register and be admitted as a team. The Team tab allows users to create or join a team with other users.

Quill for Admins

Admins can view stats, look through applications, or edit settings from the Admin panel.

Stats

Stats

The Stats tab summarizes useful registration statistics on the number of users in each stage of the process, demographic information, and miscellaneous event preferences like shirt sizes, dietary restrictions, or reimbursement requests.

Users Table

Users table

The Users tab displays a table of users where admins can:

  1. Search for a user by name
  2. Quick-view user applications in a pop-up modal
  3. See a userโ€™s application status (verified, submitted, admitted, and confirmed) at-a-glance
  4. See responses to other miscellaneous fields on the application
  5. Open and edit an individual application
  6. Admit users manually
  7. Mark users as checked-in at the event day-of

Settings

Settings

On the Settings tab, admins can easily control their event application timeline by setting registration / confirmation deadlines. They can also write custom waitlist, acceptance, and confirmation copy that users will see on their dashboard throughout the application process. The custom copy is interpreted as Markdown, so HTML and images can be added.

Setup

Quick deploy with Heroku

Deploy

Deploying locally

Getting a local instance of Quill up and running takes less than 5 minutes! Start by setting up the database. Ideally, you should run MongoDB as a daemon with a secure configuration (with most linux distributions, you should be able to install it with your package manager, and it'll be set up as a daemon). Although not recommended for production, when running locally for development, you could do it like this

mkdir db
mongod --dbpath db --bind_ip 127.0.0.1 --nohttpinterface

Install the necessary dependencies:

npm install
bower install
npm run config

Edit the configuration file in .env for your setup, and then run the application:

gulp server

Customizing for your event

If you're using Quill for your event, please add yourself to this list. It takes less than a minute, but knowing that our software is helping real events keeps us going โ™ฅ

Copy

If youโ€™d like to customize the text that users see on their dashboards, edit them at client/src/constants.js.

Branding / Assets

Customize the color scheme and hosted assets by editing client/stylesheets/_custom.scss. Donโ€™t forget to use your own email banner, favicon, and logo (color/white) in the assets/images/ folder as well!

Application questions

If you want to change the application questions, edit:

  • client/views/application/
  • server/models/User.js
  • client/views/admin/user/ and client/views/admin/users/ to render the updated form properly in the admin view

If you want stats for your new fields:

  • Recalculate them in server/services/stats.js
  • Display them on the admin panel by editing client/views/admin/stats/

Email Templates

To customize the verification and confirmation emails for your event, put your new email templates in server/templates/ and edit server/services/email.js

Contributing

Contributions to Quill are welcome and appreciated! Please take a look at CONTRIBUTING.md first.

McHacks

For McHacks specific questions and changes, contact Kyle Rubenok kyle@mchacks.ca.

License

Copyright (c) 2015-2016 Edwin Zhang (https://github.com/ehzhang). Released under AGPLv3. See LICENSE.txt for details.

About

๐Ÿ“ Registration, for HackLyon!

Resources

Contributing

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Quill

Registration, for hackers!

Quill is a registration system designed especially for hackathons. For hackers, itโ€™s a clean and streamlined interface to submit registration and confirmation information. For hackathon organizers, itโ€™s an easy way to manage applications, view registration stats, and more!

Login Splash

Features

Quill for Users

Dashboard

Dashboard

After users login, the Dashboard displays the userโ€™s application status and status-specific prompts to resend a verification email, view/edit their application or confirmation forms.

Statuses:

  • Unverified: users have not verified the email address they registered with
  • Incomplete, registration open: the user has not submitted their application, but the registration deadline has not passed
  • Incomplete, registration closed: the user has not submitted, but the registration deadline has passed
  • Submitted, registration open
  • Submitted, registration closed
  • Admitted / unconfirmed: the user has been admitted to the event, but has not confirmed their attendance and submitted their confirmation form
  • Admitted / confirmation deadline passed: the user has been admitted, but did not confirm their attendance before the deadline
  • Waitlisted: the user was not admitted to the event
  • Confirmed: the user has been admitted and has confirmed their attendance
  • User declined admission: the user has been admitted, but will not be attending the event

Application

Application

The Application tab takes users to their registration or confirmation form. It has the addition of a resume uploading feature that backends into an AWS S3 Bucket.

Team Registration

Hackathons commonly allow participants to register and be admitted as a team. The Team tab allows users to create or join a team with other users.

Quill for Admins

Admins can view stats, look through applications, or edit settings from the Admin panel.

Stats

Stats

The Stats tab summarizes useful registration statistics on the number of users in each stage of the process, demographic information, and miscellaneous event preferences like shirt sizes, dietary restrictions, or reimbursement requests.

Users Table

Users table

The Users tab displays a table of users where admins can:

  1. Search for a user by name
  2. Quick-view user applications in a pop-up modal
  3. See a userโ€™s application status (verified, submitted, admitted, and confirmed) at-a-glance
  4. See responses to other miscellaneous fields on the application
  5. Open and edit an individual application
  6. Admit users manually
  7. Mark users as checked-in at the event day-of

Settings

Settings

On the Settings tab, admins can easily control their event application timeline by setting registration / confirmation deadlines. They can also write custom waitlist, acceptance, and confirmation copy that users will see on their dashboard throughout the application process. The custom copy is interpreted as Markdown, so HTML and images can be added.

Setup

Quick deploy with Heroku

Deploy

Deploying locally

Getting a local instance of Quill up and running takes less than 5 minutes! Start by setting up the database. Ideally, you should run MongoDB as a daemon with a secure configuration (with most linux distributions, you should be able to install it with your package manager, and it'll be set up as a daemon). Although not recommended for production, when running locally for development, you could do it like this

mkdir db
mongod --dbpath db --bind_ip 127.0.0.1 --nohttpinterface

Install the necessary dependencies:

npm install
bower install
npm run config

Edit the configuration file in .env for your setup, and then run the application:

gulp server

Customizing for your event

If you're using Quill for your event, please add yourself to this list. It takes less than a minute, but knowing that our software is helping real events keeps us going โ™ฅ

Copy

If youโ€™d like to customize the text that users see on their dashboards, edit them at client/src/constants.js.

Branding / Assets

Customize the color scheme and hosted assets by editing client/stylesheets/_custom.scss. Donโ€™t forget to use your own email banner, favicon, and logo (color/white) in the assets/images/ folder as well!

Application questions

If you want to change the application questions, edit:

  • client/views/application/
  • server/models/User.js
  • client/views/admin/user/ and client/views/admin/users/ to render the updated form properly in the admin view

If you want stats for your new fields:

  • Recalculate them in server/services/stats.js
  • Display them on the admin panel by editing client/views/admin/stats/

Email Templates

To customize the verification and confirmation emails for your event, put your new email templates in server/templates/ and edit server/services/email.js

Contributing

Contributions to Quill are welcome and appreciated! Please take a look at CONTRIBUTING.md first.

McHacks

For McHacks specific questions and changes, contact Kyle Rubenok kyle@mchacks.ca.

License

Copyright (c) 2015-2016 Edwin Zhang (https://github.com/ehzhang). Released under AGPLv3. See LICENSE.txt for details.

About

๐Ÿ“ Registration, for HackLyon!

Resources

Contributing

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages