Skip to content

Repository files navigation

boulder.codes - Builders' Room

This is the official website for the Builders' Room hackathon, presented by boulder.codes as part of Boulder Startup Week. The site is built with Next.js and deployed on Cloudflare Pages.

Features

  • Modern, responsive design with dark theme
  • Fun, hip branding focusing on developer experience
  • Registration form for hackathon participants
  • Sponsor showcase and sponsorship tiers
  • Detailed event schedule
  • Information about past successes and project highlights
  • Overview of boulder.codes initiatives and community

Getting Started

First, run the development server:

npm install
npm run dev

Open http://localhost:3000 with your browser to see the result.

Project Structure

  • /src/pages - Page components and routes
  • /src/components - Reusable UI components
  • /src/styles - Global styles and theme configuration
  • /public - Static assets (images, logos, etc.)
  • /public/images - Event photos from previous events

Deployment to Cloudflare Pages

The site is configured to deploy to Cloudflare Pages using the custom domain buildersroom.boulder.codes.

Cloudflare GitHub Integration

This site uses Cloudflare Pages' built-in GitHub integration for automatic deployments:

  1. When changes are pushed to the connected GitHub repository, Cloudflare automatically detects the changes
  2. Cloudflare Pages builds the site according to the configured build settings
  3. The built site is automatically deployed to Cloudflare's global network

No additional setup is required once the GitHub repository is connected to your Cloudflare Pages project.

Cloudflare Pages Build Configuration

When connecting your GitHub repository to Cloudflare Pages, use these build settings:

  • Build command:npm run build
  • Build output directory:out
  • Node.js version: 18.x (or newer)

This ensures Cloudflare Pages correctly builds and serves the Next.js static export.

Using the Deployment Script

For convenience, you can use the included deployment script:

./deploy.sh

Manual Deployment

To manually deploy the site:

# Login to Cloudflare if not already logged in
npx wrangler login
# Build the project
npm run build
# Deploy to Cloudflare Pages
npx wrangler pages publish out --project-name=builders-room-bsw --branch=main

Deployment Environment

The site is configured for static export optimized for Cloudflare Pages. Key configuration files:

  • next.config.js - Contains export configuration
  • wrangler.toml - Cloudflare Pages configuration
  • public/_headers - Custom headers for Cloudflare
  • public/_redirects - Redirect rules for client-side routing
  • workers-site/index.js - Cloudflare Workers script for enhanced routing
  • functions/ - Cloudflare Functions for API endpoints
  • functions/api/register.js - Registration API endpoint using D1 database

Setting up the Custom Domain

After deploying to Cloudflare Pages, follow these steps to set up the custom domain:

  1. Navigate to your project in the Cloudflare Pages dashboard
  2. Go to the "Custom domains" tab
  3. Click "Set up a custom domain"
  4. Enter buildersroom.boulder.codes as the domain
  5. Verify ownership by updating DNS settings as prompted
  6. Wait for the domain to be verified (usually within minutes)

If the boulder.codes domain is already managed by Cloudflare, this process should be seamless. Otherwise, follow Cloudflare's instructions for adding the required DNS records.

Setting up Cloudflare D1 for Registration Data (Optional)

The registration form uses Cloudflare D1 as a serverless SQL database to store participant data. This setup is optional for initial deployment, as the application will work in a fallback mode without the database. To set up the database for production use, follow these steps:

  1. Log in to your Cloudflare account and ensure you have the latest Wrangler CLI:
npm install -g wrangler
  1. Run the setup script:
cd scripts
./setup-d1.sh

This script will:

  • Create a new D1 database named builders_room_registrations
  • Apply the schema from functions/schema.sql
  • Update your wrangler.toml with the correct database ID
  • Generate and set a secure API key for accessing registration data
  1. The setup script will display an API key for accessing registration data via the /api/registrations endpoint. Store this key securely.

  2. To view registrations, make a GET request to /api/registrations with the Authorization header:

Authorization: Bearer YOUR_API_KEY_HERE

The registration data is stored securely in Cloudflare's D1 database and can be queried using Cloudflare's dashboard or API.

Setting up Email Confirmations with Resend

The site sends confirmation emails to registered participants using Resend. To set up email confirmations:

  1. Create an account at resend.com
  2. Create a new API key in your Resend dashboard
  3. Add the API key to your Cloudflare environment:
# Using Wrangler CLI
npx wrangler secret put RESEND_API_KEY
# Then paste your API key when prompted

Alternatively, you can add the secret via the Cloudflare dashboard:

  1. Go to Workers & Pages > Your Project > Settings > Environment variables
  2. Add a new variable named RESEND_API_KEY with your Resend API key as the value
  3. Set the environment to "Production" and/or "Preview" as needed

Once configured, confirmation emails will be sent automatically when users register for the hackathon.

Customization

Sponsors

To update sponsor information, edit the sponsorTiers array in /src/pages/sponsors.js.

Schedule

To update the event schedule, edit the days array in /src/pages/schedule.js.

Content

Most text content can be edited directly in the page components in /src/pages/.

Credits

About

Boulder Codes Website

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
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;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - ryanstpierre/boulder.codes: Boulder Codes Website · GitHub
Skip to content

Repository files navigation

boulder.codes - Builders' Room

This is the official website for the Builders' Room hackathon, presented by boulder.codes as part of Boulder Startup Week. The site is built with Next.js and deployed on Cloudflare Pages.

Features

  • Modern, responsive design with dark theme
  • Fun, hip branding focusing on developer experience
  • Registration form for hackathon participants
  • Sponsor showcase and sponsorship tiers
  • Detailed event schedule
  • Information about past successes and project highlights
  • Overview of boulder.codes initiatives and community

Getting Started

First, run the development server:

npm install
npm run dev

Open http://localhost:3000 with your browser to see the result.

Project Structure

  • /src/pages - Page components and routes
  • /src/components - Reusable UI components
  • /src/styles - Global styles and theme configuration
  • /public - Static assets (images, logos, etc.)
  • /public/images - Event photos from previous events

Deployment to Cloudflare Pages

The site is configured to deploy to Cloudflare Pages using the custom domain buildersroom.boulder.codes.

Cloudflare GitHub Integration

This site uses Cloudflare Pages' built-in GitHub integration for automatic deployments:

  1. When changes are pushed to the connected GitHub repository, Cloudflare automatically detects the changes
  2. Cloudflare Pages builds the site according to the configured build settings
  3. The built site is automatically deployed to Cloudflare's global network

No additional setup is required once the GitHub repository is connected to your Cloudflare Pages project.

Cloudflare Pages Build Configuration

When connecting your GitHub repository to Cloudflare Pages, use these build settings:

  • Build command:npm run build
  • Build output directory:out
  • Node.js version: 18.x (or newer)

This ensures Cloudflare Pages correctly builds and serves the Next.js static export.

Using the Deployment Script

For convenience, you can use the included deployment script:

./deploy.sh

Manual Deployment

To manually deploy the site:

# Login to Cloudflare if not already logged in
npx wrangler login
# Build the project
npm run build
# Deploy to Cloudflare Pages
npx wrangler pages publish out --project-name=builders-room-bsw --branch=main

Deployment Environment

The site is configured for static export optimized for Cloudflare Pages. Key configuration files:

  • next.config.js - Contains export configuration
  • wrangler.toml - Cloudflare Pages configuration
  • public/_headers - Custom headers for Cloudflare
  • public/_redirects - Redirect rules for client-side routing
  • workers-site/index.js - Cloudflare Workers script for enhanced routing
  • functions/ - Cloudflare Functions for API endpoints
  • functions/api/register.js - Registration API endpoint using D1 database

Setting up the Custom Domain

After deploying to Cloudflare Pages, follow these steps to set up the custom domain:

  1. Navigate to your project in the Cloudflare Pages dashboard
  2. Go to the "Custom domains" tab
  3. Click "Set up a custom domain"
  4. Enter buildersroom.boulder.codes as the domain
  5. Verify ownership by updating DNS settings as prompted
  6. Wait for the domain to be verified (usually within minutes)

If the boulder.codes domain is already managed by Cloudflare, this process should be seamless. Otherwise, follow Cloudflare's instructions for adding the required DNS records.

Setting up Cloudflare D1 for Registration Data (Optional)

The registration form uses Cloudflare D1 as a serverless SQL database to store participant data. This setup is optional for initial deployment, as the application will work in a fallback mode without the database. To set up the database for production use, follow these steps:

  1. Log in to your Cloudflare account and ensure you have the latest Wrangler CLI:
npm install -g wrangler
  1. Run the setup script:
cd scripts
./setup-d1.sh

This script will:

  • Create a new D1 database named builders_room_registrations
  • Apply the schema from functions/schema.sql
  • Update your wrangler.toml with the correct database ID
  • Generate and set a secure API key for accessing registration data
  1. The setup script will display an API key for accessing registration data via the /api/registrations endpoint. Store this key securely.

  2. To view registrations, make a GET request to /api/registrations with the Authorization header:

Authorization: Bearer YOUR_API_KEY_HERE

The registration data is stored securely in Cloudflare's D1 database and can be queried using Cloudflare's dashboard or API.

Setting up Email Confirmations with Resend

The site sends confirmation emails to registered participants using Resend. To set up email confirmations:

  1. Create an account at resend.com
  2. Create a new API key in your Resend dashboard
  3. Add the API key to your Cloudflare environment:
# Using Wrangler CLI
npx wrangler secret put RESEND_API_KEY
# Then paste your API key when prompted

Alternatively, you can add the secret via the Cloudflare dashboard:

  1. Go to Workers & Pages > Your Project > Settings > Environment variables
  2. Add a new variable named RESEND_API_KEY with your Resend API key as the value
  3. Set the environment to "Production" and/or "Preview" as needed

Once configured, confirmation emails will be sent automatically when users register for the hackathon.

Customization

Sponsors

To update sponsor information, edit the sponsorTiers array in /src/pages/sponsors.js.

Schedule

To update the event schedule, edit the days array in /src/pages/schedule.js.

Content

Most text content can be edited directly in the page components in /src/pages/.

Credits

About

Boulder Codes Website

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

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

Repository files navigation

boulder.codes - Builders' Room

This is the official website for the Builders' Room hackathon, presented by boulder.codes as part of Boulder Startup Week. The site is built with Next.js and deployed on Cloudflare Pages.

Features

  • Modern, responsive design with dark theme
  • Fun, hip branding focusing on developer experience
  • Registration form for hackathon participants
  • Sponsor showcase and sponsorship tiers
  • Detailed event schedule
  • Information about past successes and project highlights
  • Overview of boulder.codes initiatives and community

Getting Started

First, run the development server:

npm install
npm run dev

Open http://localhost:3000 with your browser to see the result.

Project Structure

  • /src/pages - Page components and routes
  • /src/components - Reusable UI components
  • /src/styles - Global styles and theme configuration
  • /public - Static assets (images, logos, etc.)
  • /public/images - Event photos from previous events

Deployment to Cloudflare Pages

The site is configured to deploy to Cloudflare Pages using the custom domain buildersroom.boulder.codes.

Cloudflare GitHub Integration

This site uses Cloudflare Pages' built-in GitHub integration for automatic deployments:

  1. When changes are pushed to the connected GitHub repository, Cloudflare automatically detects the changes
  2. Cloudflare Pages builds the site according to the configured build settings
  3. The built site is automatically deployed to Cloudflare's global network

No additional setup is required once the GitHub repository is connected to your Cloudflare Pages project.

Cloudflare Pages Build Configuration

When connecting your GitHub repository to Cloudflare Pages, use these build settings:

  • Build command:npm run build
  • Build output directory:out
  • Node.js version: 18.x (or newer)

This ensures Cloudflare Pages correctly builds and serves the Next.js static export.

Using the Deployment Script

For convenience, you can use the included deployment script:

./deploy.sh

Manual Deployment

To manually deploy the site:

# Login to Cloudflare if not already logged in
npx wrangler login
# Build the project
npm run build
# Deploy to Cloudflare Pages
npx wrangler pages publish out --project-name=builders-room-bsw --branch=main

Deployment Environment

The site is configured for static export optimized for Cloudflare Pages. Key configuration files:

  • next.config.js - Contains export configuration
  • wrangler.toml - Cloudflare Pages configuration
  • public/_headers - Custom headers for Cloudflare
  • public/_redirects - Redirect rules for client-side routing
  • workers-site/index.js - Cloudflare Workers script for enhanced routing
  • functions/ - Cloudflare Functions for API endpoints
  • functions/api/register.js - Registration API endpoint using D1 database

Setting up the Custom Domain

After deploying to Cloudflare Pages, follow these steps to set up the custom domain:

  1. Navigate to your project in the Cloudflare Pages dashboard
  2. Go to the "Custom domains" tab
  3. Click "Set up a custom domain"
  4. Enter buildersroom.boulder.codes as the domain
  5. Verify ownership by updating DNS settings as prompted
  6. Wait for the domain to be verified (usually within minutes)

If the boulder.codes domain is already managed by Cloudflare, this process should be seamless. Otherwise, follow Cloudflare's instructions for adding the required DNS records.

Setting up Cloudflare D1 for Registration Data (Optional)

The registration form uses Cloudflare D1 as a serverless SQL database to store participant data. This setup is optional for initial deployment, as the application will work in a fallback mode without the database. To set up the database for production use, follow these steps:

  1. Log in to your Cloudflare account and ensure you have the latest Wrangler CLI:
npm install -g wrangler
  1. Run the setup script:
cd scripts
./setup-d1.sh

This script will:

  • Create a new D1 database named builders_room_registrations
  • Apply the schema from functions/schema.sql
  • Update your wrangler.toml with the correct database ID
  • Generate and set a secure API key for accessing registration data
  1. The setup script will display an API key for accessing registration data via the /api/registrations endpoint. Store this key securely.

  2. To view registrations, make a GET request to /api/registrations with the Authorization header:

Authorization: Bearer YOUR_API_KEY_HERE

The registration data is stored securely in Cloudflare's D1 database and can be queried using Cloudflare's dashboard or API.

Setting up Email Confirmations with Resend

The site sends confirmation emails to registered participants using Resend. To set up email confirmations:

  1. Create an account at resend.com
  2. Create a new API key in your Resend dashboard
  3. Add the API key to your Cloudflare environment:
# Using Wrangler CLI
npx wrangler secret put RESEND_API_KEY
# Then paste your API key when prompted

Alternatively, you can add the secret via the Cloudflare dashboard:

  1. Go to Workers & Pages > Your Project > Settings > Environment variables
  2. Add a new variable named RESEND_API_KEY with your Resend API key as the value
  3. Set the environment to "Production" and/or "Preview" as needed

Once configured, confirmation emails will be sent automatically when users register for the hackathon.

Customization

Sponsors

To update sponsor information, edit the sponsorTiers array in /src/pages/sponsors.js.

Schedule

To update the event schedule, edit the days array in /src/pages/schedule.js.

Content

Most text content can be edited directly in the page components in /src/pages/.

Credits

About

Boulder Codes Website

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

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

Repository files navigation

boulder.codes - Builders' Room

This is the official website for the Builders' Room hackathon, presented by boulder.codes as part of Boulder Startup Week. The site is built with Next.js and deployed on Cloudflare Pages.

Features

  • Modern, responsive design with dark theme
  • Fun, hip branding focusing on developer experience
  • Registration form for hackathon participants
  • Sponsor showcase and sponsorship tiers
  • Detailed event schedule
  • Information about past successes and project highlights
  • Overview of boulder.codes initiatives and community

Getting Started

First, run the development server:

npm install
npm run dev

Open http://localhost:3000 with your browser to see the result.

Project Structure

  • /src/pages - Page components and routes
  • /src/components - Reusable UI components
  • /src/styles - Global styles and theme configuration
  • /public - Static assets (images, logos, etc.)
  • /public/images - Event photos from previous events

Deployment to Cloudflare Pages

The site is configured to deploy to Cloudflare Pages using the custom domain buildersroom.boulder.codes.

Cloudflare GitHub Integration

This site uses Cloudflare Pages' built-in GitHub integration for automatic deployments:

  1. When changes are pushed to the connected GitHub repository, Cloudflare automatically detects the changes
  2. Cloudflare Pages builds the site according to the configured build settings
  3. The built site is automatically deployed to Cloudflare's global network

No additional setup is required once the GitHub repository is connected to your Cloudflare Pages project.

Cloudflare Pages Build Configuration

When connecting your GitHub repository to Cloudflare Pages, use these build settings:

  • Build command:npm run build
  • Build output directory:out
  • Node.js version: 18.x (or newer)

This ensures Cloudflare Pages correctly builds and serves the Next.js static export.

Using the Deployment Script

For convenience, you can use the included deployment script:

./deploy.sh

Manual Deployment

To manually deploy the site:

# Login to Cloudflare if not already logged in
npx wrangler login
# Build the project
npm run build
# Deploy to Cloudflare Pages
npx wrangler pages publish out --project-name=builders-room-bsw --branch=main

Deployment Environment

The site is configured for static export optimized for Cloudflare Pages. Key configuration files:

  • next.config.js - Contains export configuration
  • wrangler.toml - Cloudflare Pages configuration
  • public/_headers - Custom headers for Cloudflare
  • public/_redirects - Redirect rules for client-side routing
  • workers-site/index.js - Cloudflare Workers script for enhanced routing
  • functions/ - Cloudflare Functions for API endpoints
  • functions/api/register.js - Registration API endpoint using D1 database

Setting up the Custom Domain

After deploying to Cloudflare Pages, follow these steps to set up the custom domain:

  1. Navigate to your project in the Cloudflare Pages dashboard
  2. Go to the "Custom domains" tab
  3. Click "Set up a custom domain"
  4. Enter buildersroom.boulder.codes as the domain
  5. Verify ownership by updating DNS settings as prompted
  6. Wait for the domain to be verified (usually within minutes)

If the boulder.codes domain is already managed by Cloudflare, this process should be seamless. Otherwise, follow Cloudflare's instructions for adding the required DNS records.

Setting up Cloudflare D1 for Registration Data (Optional)

The registration form uses Cloudflare D1 as a serverless SQL database to store participant data. This setup is optional for initial deployment, as the application will work in a fallback mode without the database. To set up the database for production use, follow these steps:

  1. Log in to your Cloudflare account and ensure you have the latest Wrangler CLI:
npm install -g wrangler
  1. Run the setup script:
cd scripts
./setup-d1.sh

This script will:

  • Create a new D1 database named builders_room_registrations
  • Apply the schema from functions/schema.sql
  • Update your wrangler.toml with the correct database ID
  • Generate and set a secure API key for accessing registration data
  1. The setup script will display an API key for accessing registration data via the /api/registrations endpoint. Store this key securely.

  2. To view registrations, make a GET request to /api/registrations with the Authorization header:

Authorization: Bearer YOUR_API_KEY_HERE

The registration data is stored securely in Cloudflare's D1 database and can be queried using Cloudflare's dashboard or API.

Setting up Email Confirmations with Resend

The site sends confirmation emails to registered participants using Resend. To set up email confirmations:

  1. Create an account at resend.com
  2. Create a new API key in your Resend dashboard
  3. Add the API key to your Cloudflare environment:
# Using Wrangler CLI
npx wrangler secret put RESEND_API_KEY
# Then paste your API key when prompted

Alternatively, you can add the secret via the Cloudflare dashboard:

  1. Go to Workers & Pages > Your Project > Settings > Environment variables
  2. Add a new variable named RESEND_API_KEY with your Resend API key as the value
  3. Set the environment to "Production" and/or "Preview" as needed

Once configured, confirmation emails will be sent automatically when users register for the hackathon.

Customization

Sponsors

To update sponsor information, edit the sponsorTiers array in /src/pages/sponsors.js.

Schedule

To update the event schedule, edit the days array in /src/pages/schedule.js.

Content

Most text content can be edited directly in the page components in /src/pages/.

Credits

About

Boulder Codes Website

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

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

Repository files navigation

boulder.codes - Builders' Room

This is the official website for the Builders' Room hackathon, presented by boulder.codes as part of Boulder Startup Week. The site is built with Next.js and deployed on Cloudflare Pages.

Features

  • Modern, responsive design with dark theme
  • Fun, hip branding focusing on developer experience
  • Registration form for hackathon participants
  • Sponsor showcase and sponsorship tiers
  • Detailed event schedule
  • Information about past successes and project highlights
  • Overview of boulder.codes initiatives and community

Getting Started

First, run the development server:

npm install
npm run dev

Open http://localhost:3000 with your browser to see the result.

Project Structure

  • /src/pages - Page components and routes
  • /src/components - Reusable UI components
  • /src/styles - Global styles and theme configuration
  • /public - Static assets (images, logos, etc.)
  • /public/images - Event photos from previous events

Deployment to Cloudflare Pages

The site is configured to deploy to Cloudflare Pages using the custom domain buildersroom.boulder.codes.

Cloudflare GitHub Integration

This site uses Cloudflare Pages' built-in GitHub integration for automatic deployments:

  1. When changes are pushed to the connected GitHub repository, Cloudflare automatically detects the changes
  2. Cloudflare Pages builds the site according to the configured build settings
  3. The built site is automatically deployed to Cloudflare's global network

No additional setup is required once the GitHub repository is connected to your Cloudflare Pages project.

Cloudflare Pages Build Configuration

When connecting your GitHub repository to Cloudflare Pages, use these build settings:

  • Build command:npm run build
  • Build output directory:out
  • Node.js version: 18.x (or newer)

This ensures Cloudflare Pages correctly builds and serves the Next.js static export.

Using the Deployment Script

For convenience, you can use the included deployment script:

./deploy.sh

Manual Deployment

To manually deploy the site:

# Login to Cloudflare if not already logged in
npx wrangler login
# Build the project
npm run build
# Deploy to Cloudflare Pages
npx wrangler pages publish out --project-name=builders-room-bsw --branch=main

Deployment Environment

The site is configured for static export optimized for Cloudflare Pages. Key configuration files:

  • next.config.js - Contains export configuration
  • wrangler.toml - Cloudflare Pages configuration
  • public/_headers - Custom headers for Cloudflare
  • public/_redirects - Redirect rules for client-side routing
  • workers-site/index.js - Cloudflare Workers script for enhanced routing
  • functions/ - Cloudflare Functions for API endpoints
  • functions/api/register.js - Registration API endpoint using D1 database

Setting up the Custom Domain

After deploying to Cloudflare Pages, follow these steps to set up the custom domain:

  1. Navigate to your project in the Cloudflare Pages dashboard
  2. Go to the "Custom domains" tab
  3. Click "Set up a custom domain"
  4. Enter buildersroom.boulder.codes as the domain
  5. Verify ownership by updating DNS settings as prompted
  6. Wait for the domain to be verified (usually within minutes)

If the boulder.codes domain is already managed by Cloudflare, this process should be seamless. Otherwise, follow Cloudflare's instructions for adding the required DNS records.

Setting up Cloudflare D1 for Registration Data (Optional)

The registration form uses Cloudflare D1 as a serverless SQL database to store participant data. This setup is optional for initial deployment, as the application will work in a fallback mode without the database. To set up the database for production use, follow these steps:

  1. Log in to your Cloudflare account and ensure you have the latest Wrangler CLI:
npm install -g wrangler
  1. Run the setup script:
cd scripts
./setup-d1.sh

This script will:

  • Create a new D1 database named builders_room_registrations
  • Apply the schema from functions/schema.sql
  • Update your wrangler.toml with the correct database ID
  • Generate and set a secure API key for accessing registration data
  1. The setup script will display an API key for accessing registration data via the /api/registrations endpoint. Store this key securely.

  2. To view registrations, make a GET request to /api/registrations with the Authorization header:

Authorization: Bearer YOUR_API_KEY_HERE

The registration data is stored securely in Cloudflare's D1 database and can be queried using Cloudflare's dashboard or API.

Setting up Email Confirmations with Resend

The site sends confirmation emails to registered participants using Resend. To set up email confirmations:

  1. Create an account at resend.com
  2. Create a new API key in your Resend dashboard
  3. Add the API key to your Cloudflare environment:
# Using Wrangler CLI
npx wrangler secret put RESEND_API_KEY
# Then paste your API key when prompted

Alternatively, you can add the secret via the Cloudflare dashboard:

  1. Go to Workers & Pages > Your Project > Settings > Environment variables
  2. Add a new variable named RESEND_API_KEY with your Resend API key as the value
  3. Set the environment to "Production" and/or "Preview" as needed

Once configured, confirmation emails will be sent automatically when users register for the hackathon.

Customization

Sponsors

To update sponsor information, edit the sponsorTiers array in /src/pages/sponsors.js.

Schedule

To update the event schedule, edit the days array in /src/pages/schedule.js.

Content

Most text content can be edited directly in the page components in /src/pages/.

Credits

About

Boulder Codes Website

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

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

Repository files navigation

boulder.codes - Builders' Room

This is the official website for the Builders' Room hackathon, presented by boulder.codes as part of Boulder Startup Week. The site is built with Next.js and deployed on Cloudflare Pages.

Features

  • Modern, responsive design with dark theme
  • Fun, hip branding focusing on developer experience
  • Registration form for hackathon participants
  • Sponsor showcase and sponsorship tiers
  • Detailed event schedule
  • Information about past successes and project highlights
  • Overview of boulder.codes initiatives and community

Getting Started

First, run the development server:

npm install
npm run dev

Open http://localhost:3000 with your browser to see the result.

Project Structure

  • /src/pages - Page components and routes
  • /src/components - Reusable UI components
  • /src/styles - Global styles and theme configuration
  • /public - Static assets (images, logos, etc.)
  • /public/images - Event photos from previous events

Deployment to Cloudflare Pages

The site is configured to deploy to Cloudflare Pages using the custom domain buildersroom.boulder.codes.

Cloudflare GitHub Integration

This site uses Cloudflare Pages' built-in GitHub integration for automatic deployments:

  1. When changes are pushed to the connected GitHub repository, Cloudflare automatically detects the changes
  2. Cloudflare Pages builds the site according to the configured build settings
  3. The built site is automatically deployed to Cloudflare's global network

No additional setup is required once the GitHub repository is connected to your Cloudflare Pages project.

Cloudflare Pages Build Configuration

When connecting your GitHub repository to Cloudflare Pages, use these build settings:

  • Build command:npm run build
  • Build output directory:out
  • Node.js version: 18.x (or newer)

This ensures Cloudflare Pages correctly builds and serves the Next.js static export.

Using the Deployment Script

For convenience, you can use the included deployment script:

./deploy.sh

Manual Deployment

To manually deploy the site:

# Login to Cloudflare if not already logged in
npx wrangler login
# Build the project
npm run build
# Deploy to Cloudflare Pages
npx wrangler pages publish out --project-name=builders-room-bsw --branch=main

Deployment Environment

The site is configured for static export optimized for Cloudflare Pages. Key configuration files:

  • next.config.js - Contains export configuration
  • wrangler.toml - Cloudflare Pages configuration
  • public/_headers - Custom headers for Cloudflare
  • public/_redirects - Redirect rules for client-side routing
  • workers-site/index.js - Cloudflare Workers script for enhanced routing
  • functions/ - Cloudflare Functions for API endpoints
  • functions/api/register.js - Registration API endpoint using D1 database

Setting up the Custom Domain

After deploying to Cloudflare Pages, follow these steps to set up the custom domain:

  1. Navigate to your project in the Cloudflare Pages dashboard
  2. Go to the "Custom domains" tab
  3. Click "Set up a custom domain"
  4. Enter buildersroom.boulder.codes as the domain
  5. Verify ownership by updating DNS settings as prompted
  6. Wait for the domain to be verified (usually within minutes)

If the boulder.codes domain is already managed by Cloudflare, this process should be seamless. Otherwise, follow Cloudflare's instructions for adding the required DNS records.

Setting up Cloudflare D1 for Registration Data (Optional)

The registration form uses Cloudflare D1 as a serverless SQL database to store participant data. This setup is optional for initial deployment, as the application will work in a fallback mode without the database. To set up the database for production use, follow these steps:

  1. Log in to your Cloudflare account and ensure you have the latest Wrangler CLI:
npm install -g wrangler
  1. Run the setup script:
cd scripts
./setup-d1.sh

This script will:

  • Create a new D1 database named builders_room_registrations
  • Apply the schema from functions/schema.sql
  • Update your wrangler.toml with the correct database ID
  • Generate and set a secure API key for accessing registration data
  1. The setup script will display an API key for accessing registration data via the /api/registrations endpoint. Store this key securely.

  2. To view registrations, make a GET request to /api/registrations with the Authorization header:

Authorization: Bearer YOUR_API_KEY_HERE

The registration data is stored securely in Cloudflare's D1 database and can be queried using Cloudflare's dashboard or API.

Setting up Email Confirmations with Resend

The site sends confirmation emails to registered participants using Resend. To set up email confirmations:

  1. Create an account at resend.com
  2. Create a new API key in your Resend dashboard
  3. Add the API key to your Cloudflare environment:
# Using Wrangler CLI
npx wrangler secret put RESEND_API_KEY
# Then paste your API key when prompted

Alternatively, you can add the secret via the Cloudflare dashboard:

  1. Go to Workers & Pages > Your Project > Settings > Environment variables
  2. Add a new variable named RESEND_API_KEY with your Resend API key as the value
  3. Set the environment to "Production" and/or "Preview" as needed

Once configured, confirmation emails will be sent automatically when users register for the hackathon.

Customization

Sponsors

To update sponsor information, edit the sponsorTiers array in /src/pages/sponsors.js.

Schedule

To update the event schedule, edit the days array in /src/pages/schedule.js.

Content

Most text content can be edited directly in the page components in /src/pages/.

Credits

About

Boulder Codes Website

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

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

Repository files navigation

boulder.codes - Builders' Room

This is the official website for the Builders' Room hackathon, presented by boulder.codes as part of Boulder Startup Week. The site is built with Next.js and deployed on Cloudflare Pages.

Features

  • Modern, responsive design with dark theme
  • Fun, hip branding focusing on developer experience
  • Registration form for hackathon participants
  • Sponsor showcase and sponsorship tiers
  • Detailed event schedule
  • Information about past successes and project highlights
  • Overview of boulder.codes initiatives and community

Getting Started

First, run the development server:

npm install
npm run dev

Open http://localhost:3000 with your browser to see the result.

Project Structure

  • /src/pages - Page components and routes
  • /src/components - Reusable UI components
  • /src/styles - Global styles and theme configuration
  • /public - Static assets (images, logos, etc.)
  • /public/images - Event photos from previous events

Deployment to Cloudflare Pages

The site is configured to deploy to Cloudflare Pages using the custom domain buildersroom.boulder.codes.

Cloudflare GitHub Integration

This site uses Cloudflare Pages' built-in GitHub integration for automatic deployments:

  1. When changes are pushed to the connected GitHub repository, Cloudflare automatically detects the changes
  2. Cloudflare Pages builds the site according to the configured build settings
  3. The built site is automatically deployed to Cloudflare's global network

No additional setup is required once the GitHub repository is connected to your Cloudflare Pages project.

Cloudflare Pages Build Configuration

When connecting your GitHub repository to Cloudflare Pages, use these build settings:

  • Build command:npm run build
  • Build output directory:out
  • Node.js version: 18.x (or newer)

This ensures Cloudflare Pages correctly builds and serves the Next.js static export.

Using the Deployment Script

For convenience, you can use the included deployment script:

./deploy.sh

Manual Deployment

To manually deploy the site:

# Login to Cloudflare if not already logged in
npx wrangler login
# Build the project
npm run build
# Deploy to Cloudflare Pages
npx wrangler pages publish out --project-name=builders-room-bsw --branch=main

Deployment Environment

The site is configured for static export optimized for Cloudflare Pages. Key configuration files:

  • next.config.js - Contains export configuration
  • wrangler.toml - Cloudflare Pages configuration
  • public/_headers - Custom headers for Cloudflare
  • public/_redirects - Redirect rules for client-side routing
  • workers-site/index.js - Cloudflare Workers script for enhanced routing
  • functions/ - Cloudflare Functions for API endpoints
  • functions/api/register.js - Registration API endpoint using D1 database

Setting up the Custom Domain

After deploying to Cloudflare Pages, follow these steps to set up the custom domain:

  1. Navigate to your project in the Cloudflare Pages dashboard
  2. Go to the "Custom domains" tab
  3. Click "Set up a custom domain"
  4. Enter buildersroom.boulder.codes as the domain
  5. Verify ownership by updating DNS settings as prompted
  6. Wait for the domain to be verified (usually within minutes)

If the boulder.codes domain is already managed by Cloudflare, this process should be seamless. Otherwise, follow Cloudflare's instructions for adding the required DNS records.

Setting up Cloudflare D1 for Registration Data (Optional)

The registration form uses Cloudflare D1 as a serverless SQL database to store participant data. This setup is optional for initial deployment, as the application will work in a fallback mode without the database. To set up the database for production use, follow these steps:

  1. Log in to your Cloudflare account and ensure you have the latest Wrangler CLI:
npm install -g wrangler
  1. Run the setup script:
cd scripts
./setup-d1.sh

This script will:

  • Create a new D1 database named builders_room_registrations
  • Apply the schema from functions/schema.sql
  • Update your wrangler.toml with the correct database ID
  • Generate and set a secure API key for accessing registration data
  1. The setup script will display an API key for accessing registration data via the /api/registrations endpoint. Store this key securely.

  2. To view registrations, make a GET request to /api/registrations with the Authorization header:

Authorization: Bearer YOUR_API_KEY_HERE

The registration data is stored securely in Cloudflare's D1 database and can be queried using Cloudflare's dashboard or API.

Setting up Email Confirmations with Resend

The site sends confirmation emails to registered participants using Resend. To set up email confirmations:

  1. Create an account at resend.com
  2. Create a new API key in your Resend dashboard
  3. Add the API key to your Cloudflare environment:
# Using Wrangler CLI
npx wrangler secret put RESEND_API_KEY
# Then paste your API key when prompted

Alternatively, you can add the secret via the Cloudflare dashboard:

  1. Go to Workers & Pages > Your Project > Settings > Environment variables
  2. Add a new variable named RESEND_API_KEY with your Resend API key as the value
  3. Set the environment to "Production" and/or "Preview" as needed

Once configured, confirmation emails will be sent automatically when users register for the hackathon.

Customization

Sponsors

To update sponsor information, edit the sponsorTiers array in /src/pages/sponsors.js.

Schedule

To update the event schedule, edit the days array in /src/pages/schedule.js.

Content

Most text content can be edited directly in the page components in /src/pages/.

Credits

About

Boulder Codes Website

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

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

Repository files navigation

boulder.codes - Builders' Room

This is the official website for the Builders' Room hackathon, presented by boulder.codes as part of Boulder Startup Week. The site is built with Next.js and deployed on Cloudflare Pages.

Features

  • Modern, responsive design with dark theme
  • Fun, hip branding focusing on developer experience
  • Registration form for hackathon participants
  • Sponsor showcase and sponsorship tiers
  • Detailed event schedule
  • Information about past successes and project highlights
  • Overview of boulder.codes initiatives and community

Getting Started

First, run the development server:

npm install
npm run dev

Open http://localhost:3000 with your browser to see the result.

Project Structure

  • /src/pages - Page components and routes
  • /src/components - Reusable UI components
  • /src/styles - Global styles and theme configuration
  • /public - Static assets (images, logos, etc.)
  • /public/images - Event photos from previous events

Deployment to Cloudflare Pages

The site is configured to deploy to Cloudflare Pages using the custom domain buildersroom.boulder.codes.

Cloudflare GitHub Integration

This site uses Cloudflare Pages' built-in GitHub integration for automatic deployments:

  1. When changes are pushed to the connected GitHub repository, Cloudflare automatically detects the changes
  2. Cloudflare Pages builds the site according to the configured build settings
  3. The built site is automatically deployed to Cloudflare's global network

No additional setup is required once the GitHub repository is connected to your Cloudflare Pages project.

Cloudflare Pages Build Configuration

When connecting your GitHub repository to Cloudflare Pages, use these build settings:

  • Build command:npm run build
  • Build output directory:out
  • Node.js version: 18.x (or newer)

This ensures Cloudflare Pages correctly builds and serves the Next.js static export.

Using the Deployment Script

For convenience, you can use the included deployment script:

./deploy.sh

Manual Deployment

To manually deploy the site:

# Login to Cloudflare if not already logged in
npx wrangler login
# Build the project
npm run build
# Deploy to Cloudflare Pages
npx wrangler pages publish out --project-name=builders-room-bsw --branch=main

Deployment Environment

The site is configured for static export optimized for Cloudflare Pages. Key configuration files:

  • next.config.js - Contains export configuration
  • wrangler.toml - Cloudflare Pages configuration
  • public/_headers - Custom headers for Cloudflare
  • public/_redirects - Redirect rules for client-side routing
  • workers-site/index.js - Cloudflare Workers script for enhanced routing
  • functions/ - Cloudflare Functions for API endpoints
  • functions/api/register.js - Registration API endpoint using D1 database

Setting up the Custom Domain

After deploying to Cloudflare Pages, follow these steps to set up the custom domain:

  1. Navigate to your project in the Cloudflare Pages dashboard
  2. Go to the "Custom domains" tab
  3. Click "Set up a custom domain"
  4. Enter buildersroom.boulder.codes as the domain
  5. Verify ownership by updating DNS settings as prompted
  6. Wait for the domain to be verified (usually within minutes)

If the boulder.codes domain is already managed by Cloudflare, this process should be seamless. Otherwise, follow Cloudflare's instructions for adding the required DNS records.

Setting up Cloudflare D1 for Registration Data (Optional)

The registration form uses Cloudflare D1 as a serverless SQL database to store participant data. This setup is optional for initial deployment, as the application will work in a fallback mode without the database. To set up the database for production use, follow these steps:

  1. Log in to your Cloudflare account and ensure you have the latest Wrangler CLI:
npm install -g wrangler
  1. Run the setup script:
cd scripts
./setup-d1.sh

This script will:

  • Create a new D1 database named builders_room_registrations
  • Apply the schema from functions/schema.sql
  • Update your wrangler.toml with the correct database ID
  • Generate and set a secure API key for accessing registration data
  1. The setup script will display an API key for accessing registration data via the /api/registrations endpoint. Store this key securely.

  2. To view registrations, make a GET request to /api/registrations with the Authorization header:

Authorization: Bearer YOUR_API_KEY_HERE

The registration data is stored securely in Cloudflare's D1 database and can be queried using Cloudflare's dashboard or API.

Setting up Email Confirmations with Resend

The site sends confirmation emails to registered participants using Resend. To set up email confirmations:

  1. Create an account at resend.com
  2. Create a new API key in your Resend dashboard
  3. Add the API key to your Cloudflare environment:
# Using Wrangler CLI
npx wrangler secret put RESEND_API_KEY
# Then paste your API key when prompted

Alternatively, you can add the secret via the Cloudflare dashboard:

  1. Go to Workers & Pages > Your Project > Settings > Environment variables
  2. Add a new variable named RESEND_API_KEY with your Resend API key as the value
  3. Set the environment to "Production" and/or "Preview" as needed

Once configured, confirmation emails will be sent automatically when users register for the hackathon.

Customization

Sponsors

To update sponsor information, edit the sponsorTiers array in /src/pages/sponsors.js.

Schedule

To update the event schedule, edit the days array in /src/pages/schedule.js.

Content

Most text content can be edited directly in the page components in /src/pages/.

Credits

About

Boulder Codes Website

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages