About the Project

EugDotNet.org is the public-facing site of the Eugene .NET Meetup — built to provide event listings, community engagement, and helpful resources for local developers and tech-curious learners.

This project began with a call to action from a local tech leader seeking someone to help revive the Eugene .NET Meetup, which had struggled to regain momentum after the COVID-19 pandemic. After some initial hesitation, I stepped in — reaching out to local businesses, university departments, and community leaders to find a suitable venue and rebuild the group’s presence.

Thanks to support from the University of Oregon’s Computer Science department, we secured a space and relaunched our monthly gatherings. Since then, I’ve organized talks, facilitated workshops, and even led presentations myself when speakers were unavailable.

To give the community a digital home, I partnered with fellow member and talented programmer to build this modern web app using Blazor and .NET 9. It serves as a hub for events, a showcase of what .NET can do, and a collaboration space for a growing community of developers passionate about Microsoft technologies.

https://github.com/Vexmage/DotnetMeetup

Technologies Used

ASP.NET Core (.NET 9)

Blazor Server (with Interactive WebAssembly Render Mode)

SQLite via EF Core

Bootstrap 5 (customized for consistent branding)

C# 12, Razor, and Dependency Injection

Entity Framework Core 9

MailKit (planned for contributor outreach)

Open Source on GitHub

Components and Architecture

The site is built modularly using Razor Components:

  • <EventCard /> – re-usable card UI for upcoming and past events
  • <Calendar /> – highlights event dates visually
  • <CalendarDay /> & <CalendarWeek /> – model calendar structure
  • API-driven event loading from a SQLite database using /api/events
  • .razor pages that encapsulate each major view (Events, Contribute, etc.)

The solution includes reusable Blazor components, shared DTOs, and a modular architecture organized across Client, Server, and Shared projects. Our component library enables styling consistency and development speed through design tokens and modular templates.

Events System & Calendar Integration

One of the core features of EugDotNet.org is the dynamic events listing. This section allows the group to store, retrieve, and present both upcoming and past events.

Event data is modeled in a relational database (SQLite) and exposed via a Web API. The EventsController fetches events using EF Core and returns data in a lightweight DTO format.

To present a more visual representation of events, the app features a calendar component that:

  • Highlights the current day
  • Marks dates with upcoming or past events
  • Shows event details via tooltips
  • Supports month navigation and dynamic rendering

Each event is mapped to a CalendarEvent model and rendered in a stylized Bootstrap-based layout.

API and Data Storage

The back-end uses a minimal Web API (EventsController) to fetch event data stored in SQLite. This keeps the architecture light and deployable to minimal infrastructure like a self-hosted VPS or a low-cost Azure App Service.

Data is retrieved in the front-end using Blazor’s built-in HttpClient, ensuring seamless client/server interop and a fast loading experience.

Design and UX

The design follows a minimalist Bootstrap 5 approach with minor customization for branding consistency. Key UX goals:

  • Clarity: Events are the centerpiece — prominent on the page.
  • Responsiveness: Optimized for mobile and desktop viewing.
  • Accessibility: Uses semantic HTML and keyboard-navigable layouts.

Future goals include adding dynamic theming for light/dark modes and more interactive feedback.

Collaborative Challenges

As an open-source, community-led project, this app was shaped by ongoing collaboration. Key challenges and takeaways include:

  • Syncing up development across .NET 9 preview changes
  • Handling version mismatches between WebAssembly and server render modes
  • Implementing clean DTO mappings between backend and frontend components

What’s Next

This project is a living showcase of modern .NET development in action — blending open-source values, community service, and practical full-stack skills.

It reflects my focus on building useful tools, supporting local dev communities, and continuously leveling up in .NET and Blazor technologies.

This project will continue to evolve alongside the community it supports. Future features may include forum integration, RSVP support, and live presentation tooling for hybrid talks.

Want to Learn More?

View the source on GitHub