Skip to main content
Featured Project

CoffeeBreak Platform

Production event management platform with plugin-based architecture and OAuth2 authentication. Powered TEDxAveiro, DETIConnect, and other events.

FastAPI Next.js Keycloak Docker PostgreSQL MongoDB React OAuth2

CoffeeBreak Platform

A comprehensive event management platform designed to streamline event organization, attendee management, and real-time event coordination. Built as part of the Project of Informatics course at University of Aveiro.

Overview

CoffeeBreak is a modern event management solution that combines a robust backend API, an intuitive admin interface, and a user-friendly event application. The platform emphasizes security, scalability, and developer experience through containerization and modern authentication patterns.

Production Deployments

Currently running in production for multiple events:

2025:

  • TEDxAveiro 2025 - Technology conference
  • DETIConnect 2025 - Department networking event

2026 (Scheduled):

  • DETI4DEVs 2026 - Developer conference
  • ThinkTwice 2026 - Innovation showcase

The platform has proven its reliability managing real-world events, handling attendee registration, check-ins, and real-time coordination. Continuous improvements based on production feedback from organizers and attendees.

Architecture

Microservices Design

Built on a microservices architecture with clear separation of concerns:

graph TD
    classDef external fill:transparent,stroke-dasharray: 5 5;

    subgraph Frontend
        UI["`User Interface`"]
        Auth["`Authentication`"]
    end

    RP("`Reverse Proxy`")

    subgraph Backend
        API["`API Application`"]
        MQ[["`Message Queue`"]]
        WP["`WebPush Sender`"]
    end

    subgraph Databases
        Mongo[("`Unified Content DB`")]
        PG[("`Relational DB`")]
    end

    Ext["`Client Browser Push Service`"]:::external

    UI --> RP
    Auth -- "`Validates Identity`" --> RP
    RP --> API

    API --> Mongo
    API --> PG

    API -- "`Notification Request`" --> MQ
    MQ --> WP
    WP -- "`Fetch User WebPush Subscription`" --> PG
    WP --> Ext

Plugin-Based Architecture

Extensible plugin system allowing event-specific customization without modifying core platform:

  • Modular Features: QR check-ins, live polls, networking features, schedule management
  • Event Templates: Reusable configurations for different event types (conferences, networking, workshops)
  • Custom Integrations: Third-party service connections (analytics, email, payment)
  • Hot-Swappable Plugins: Enable/disable features without redeployment
  • Isolated Plugin Environment: Plugins run independently, preventing conflicts

This architecture allows one platform to power diverse events with tailored feature sets - TEDx talks need schedule management and live Q&A, while networking events need attendee matching and connection features.

Containerization

Full Docker-based deployment with service orchestration:

  • All services containerized for consistency and portability
  • Service discovery and internal networking
  • Isolated service environments
  • Resource allocation and limits
  • Health checks and auto-restart policies

Key Features

Fully Personalized Event Pages, Theming & Menu

Event organizers can give each deployment its own look and structure without touching code. Pages are composed of building blocks (Title, Text, Image, etc.) that organizers add, reorder, and configure—no code changes required.

  • Custom pages – Build pages from components (Title, Text, Image, Carousel, Schedule, Activities, Speaker, Sponsors, Location, Video). Static content for info and sponsors, or dynamic templates that automatically fill with event data (e.g., activity details, speaker profiles).
  • Color theming – Full control over the event app palette: primary, secondary, accent, and semantic colors so each event has its own brand identity.
  • Customizable menu – Organizers define the navigation: which pages appear, labels, icons, and order. Different events get different menus suited to their structure.

Event Management

  • Multi-event support with isolated configurations
  • Event scheduling and timeline management
  • Attendee registration and capacity management
  • Real-time event updates and announcements
  • Analytics dashboard with attendance metrics
  • QR code ticket generation

Authentication & Authorization

  • OAuth2/OIDC implementation with Keycloak
  • Secure token-based authentication (JWT)
  • Role-based access control (Admin, Organizer, Attendee)
  • Single Sign-On (SSO) support
  • Refresh token rotation for security
  • Session management

Admin Interface

  • Intuitive dashboard for event management
  • Real-time attendee tracking and check-in status
  • Event statistics and insights (registrations, attendance, engagement)
  • User management and role assignment
  • Plugin configuration per event
  • Export tools for reports

Event App

  • Mobile-responsive progressive web app
  • Real-time event feed and schedule
  • QR code ticket display for check-in
  • Push notifications for event updates
  • Attendee interaction features (polls, Q&A, networking)
  • Offline support for ticket display

Technical Implementation

Backend (FastAPI)

Modern async Python framework providing high-performance API:

  • RESTful API design with clear endpoints
  • Automatic OpenAPI/Swagger documentation
  • Pydantic models for data validation
  • SQLAlchemy ORM with async support
  • Alembic for database migrations
  • CORS and security middleware
  • Background task processing

Frontend (Next.js)

Server-side rendered React application:

  • Next.js 14 with App Router
  • React 18 features (Server Components)
  • TypeScript for type safety
  • Tailwind CSS for styling
  • Responsive design for all devices
  • Progressive Web App (PWA) capabilities
  • Optimistic UI updates

WebPush Integration

Real-time notifications using Web Push API:

  • Service Worker implementation for background notifications
  • Push subscription management per user
  • Browser notification permission handling
  • Customizable notification content (title, body, icon, actions)
  • Delivery status tracking
  • Silent push for data sync

Security Features

OAuth2/OIDC Implementation

  • Industry-standard authentication protocol
  • PKCE (Proof Key for Code Exchange) for enhanced security
  • Token expiration and rotation
  • Protected API endpoints with JWT validation
  • Scope-based authorization

Data Protection

  • Bcrypt password hashing
  • HTTPS/TLS in production
  • CORS configuration for API access
  • SQL injection prevention through ORM
  • XSS protection in frontend
  • Rate limiting on API endpoints
  • Input validation with Pydantic

Keycloak Integration

  • Centralized identity and access management
  • User federation support
  • Social login integration capability
  • Multi-factor authentication ready
  • Custom authentication flows
  • Brute force detection

Technical Highlights

API Design

  • RESTful architecture following OpenAPI 3.0 spec
  • Automatic interactive documentation (Swagger UI)
  • Versioned API endpoints (/api/v1/)
  • Consistent error responses
  • Request/response schemas with validation

Database Schema

  • Normalized relational design
  • Entity relationships (Events, Users, Registrations, Plugins)
  • Migration system for schema evolution
  • Indexing for query performance
  • Transaction management for data consistency

Deployment Architecture

  • Docker Compose orchestration for services
  • Nginx reverse proxy for routing
  • Service health monitoring
  • Automated backups
  • Log aggregation
  • Environment-based configuration

Performance

  • API Response: Sub-200ms average
  • Concurrent Users: 300+ supported simultaneously
  • Uptime: 99.9% during production events
  • Database Queries: Optimized with eager loading and caching
  • Frontend: Server-side rendering for fast initial load

Results

Successfully delivered a production-grade platform that:

  • Powers multiple university events annually
  • Handles 300+ attendees per event without issues
  • Provides secure, reliable authentication
  • Enables rapid event setup through templates
  • Receives positive feedback from organizers and attendees
  • Continues to evolve based on real-world usage

Built for the Project of Informatics course at University of Aveiro, demonstrating full-stack development, microservices architecture, modern authentication, and production deployment practices.