A SvelteKit website for BurbSec information security meetups and events.
BurbSec is an information security meetup network hosting events across multiple locations including the greater Chicagoland area, Las Vegas, Galway (Ireland), Minneapolis, and more. This site provides information about upcoming events, locations, and sponsors.
This is a SvelteKit application with the following structure:
-
Chicagoland Event Pages: BurbSec locations across the Chicago metropolitan area
- Prime - Schaumburg (
/prime) - North - Wheeling (
/north) - South - Hickory Hills (
/south) - East - Chicago (
/east) - West - Naperville (
/west) - Northwest - Crystal Lake (
/northwest) - Southeast - South Bend, IN (
/southeast)
- Prime - Schaumburg (
-
Elsewhere Event Pages: BurbSec locations outside the Chicagoland area
- Galway, Ireland (
/galway) - Las Vegas, NV (
/lasvegas) - Minneapolis, MN (
/minneapolis)
- Galway, Ireland (
-
Special Interest Groups
- CigarSec (
/cigarsec)
- CigarSec (
-
Other Pages
- Sponsors (
/sponsors)
- Sponsors (
- Node.js (version 16 or higher)
- npm
-
Clone the repository
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:5173
To build the application for production:
npm run buildTo preview the production build:
npm run preview- Framework: SvelteKit
- Build Tool: Vite
- Styling: Bootstrap 5 + Custom CSS
- Icons: Font Awesome 6
- Deployment: Static site generation (GitHub Pages)
src/
├── app.html # Main HTML template
├── app.css # Global styles
├── lib/
│ └── components/ # Reusable Svelte components
│ ├── EventPage.svelte # Reusable event page component
│ ├── Footer.svelte # Site footer
│ └── Navbar.svelte # Navigation bar with dropdowns
└── routes/ # Page routes
├── +layout.svelte # Layout wrapper
├── +page.svelte # Homepage
├── cigarsec/ # CigarSec special interest page
├── east/ # Chicago event page
├── galway/ # Galway, Ireland event page
├── lasvegas/ # Las Vegas event page
├── minneapolis/ # Minneapolis event page
├── north/ # Wheeling event page
├── northwest/ # Crystal Lake event page
├── prime/ # Schaumburg event page
├── south/ # Hickory Hills event page
├── southeast/ # South Bend event page
├── sponsors/ # Sponsors page
└── west/ # Naperville event page
static/
├── images/ # Event shields and IRL photos
├── videos/ # Background video
├── sitemap.xml # Site map for search engines
└── robots.txt # Crawler directives
To add a new event location:
- Create a new directory in
src/routes/(e.g.,src/routes/newlocation/) - Add a
+page.sveltefile using theEventPagecomponent with appropriate props:title: Event title (e.g., "BurbSec|Minneapolis")subtitle: Meeting frequency (e.g., "Monthly Meetup")location: City/Location nameeventImage: Path to shield/logo imagegmapsLink: Google Maps link to venueblueskyHandle: (optional) BlueSky social handlediscordLink: (optional) Discord server invite linkeventbriteLink: (optional) Eventbrite page linkmeetupPage: (optional) Meetup.com page link (defaults to main BurbSec meetup)irlImage: (optional) Path to IRL photo from event
- Add event shield image to
static/images/ - Update the homepage (
src/routes/+page.svelte) to include the new location card - Update the navbar (
src/lib/components/Navbar.svelte) to add the location to appropriate dropdown menu - Update
static/sitemap.xmlwith the new URL
The EventPage component supports:
- Optional social media integrations (BlueSky or Discord)
- Flexible meetup links (Meetup.com or Eventbrite with calendar icon)
- IRL event photos
- Automatic SEO metadata and structured data support
This site is open source. Feel free to submit issues and pull requests to improve the site.
See LICENSE file for details.