Skip to content

alphnology/open-schedule

Repository files navigation

Open Schedule Logo

Open Schedule

Modern conference schedule management — open source, self-hostable, production-ready.

License Version Java Spring Boot Vaadin CI


What is Open Schedule?

Open Schedule is a free, self-hostable web application for managing conference and event agendas. Built with Java 25, Spring Boot 4, and Vaadin 25, it gives organizers a powerful admin interface and attendees a clean, interactive schedule experience — all in a single deployable JAR.

Originally built for JconfDominicana 2025, it is now a general-purpose platform for any event format.

Quick look: sessions, speakers, rooms, tracks, live ratings, favorites, news, QR codes, vCards, PWA support, S3-compatible photo storage, and multi-provider email configurable from environment variables and an admin UI.


Features

Category Features
Admin Session CRUD, speaker management, room & track organization, tag system, attendee tracking, news/announcements, mail settings
Public Interactive schedule, speaker profiles, session ratings, favorites, QR share, vCard download
Infrastructure PostgreSQL, Flyway migrations, S3-compatible storage (MinIO / AWS S3 / SeaweedFS), multi-provider email with admin-managed runtime settings
Platform Docker deployment, Traefik reverse proxy, Let's Encrypt SSL, PWA, dark mode

Tech Stack

Layer Technology
Language Java 25
Framework Spring Boot 4.x
UI Vaadin 25 (server-side)
Database PostgreSQL 15 + Flyway
Storage MinIO (default dev) via S3-compatible client
Email Jakarta Mail · Postal HTTP API
Proxy Traefik v3 + Let's Encrypt
Container Docker + Docker Compose

Quick Start

Option A — Run with Docker (self-hosting)

git clone https://github.com/alphnology/open-schedule.git
cd open-schedule

cp .env.dist .env
# Edit .env — set DB_PASSWORD, EMAIL_*, STORAGE_*, EVENT_WEBSITE at minimum

docker compose -f docker-compose-dev.yml up -d

Open http://localhost:51675

Option B — Local development (IDE)

git clone https://github.com/alphnology/open-schedule.git
cd open-schedule

cp .env.dist .env            # Uses Mailpit + MinIO defaults — no edits needed for dev

# Start infrastructure services
docker compose up -d

# Run the application (hot reload enabled)
./mvnw spring-boot:run -Pdev

Service URLs:

Service URL
Application http://localhost:51675
Mailpit (email catcher) http://localhost:8025
MinIO S3 API http://localhost:9000
MinIO Console http://localhost:9001

Documentation

Guide Description
Getting Started Local dev setup, prerequisites, IDE workflow
Configuration All environment variables with defaults and examples
Email Setup SMTP, SendGrid, Mailjet, Postal — provider configuration guide plus admin UI workflow
Storage Setup MinIO, AWS S3, SeaweedFS — object storage configuration
Deployment Production deployment with Docker Compose and Traefik
Architecture System design, layers, data model, security
Contributing How to contribute, code style, PR workflow
Troubleshooting Common issues and solutions

Configuration at a Glance

All configuration is done through environment variables. Copy .env.dist to .env and fill in your values.

# Minimum required for production
DB_PASSWORD=your-secure-password
STORAGE_ENDPOINT=http://your-minio:9000
EMAIL_PROVIDER_TYPE=SENDGRID
EMAIL_SMTP_HOST=smtp.sendgrid.net
EMAIL_SMTP_PASSWORD=SG.your-api-key
[email protected]
EVENT_WEBSITE=https://yourconference.com
APP_URL=https://schedule.yourconference.com

See docs/configuration.md for the full reference.


Contributing

We welcome contributions of all kinds — bug reports, feature requests, documentation improvements, and code.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feat/your-feature
  3. Commit with Conventional Commits: git commit -m "feat: add session export"
  4. Push and open a Pull Request against main

See docs/contributing.md for the full guide including setup, code style, and review expectations.


License

MIT — see LICENSE for details.


Built and maintained by Alphnology

Alphnology

About

Open Schedule: A modern, open-source conference and event schedule management application. Built with LOVE in Java, Spring Boot, and Vaadin, Open Schedule provides a seamless experience for both event organizers and attendees.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors