MiniConf is a virtual conference in a box. It manages the papers, schedules, and speakers for an academic conference run virtually. It can be easily integrated with interactive tools such as video, chat, and QA.
It is designed to be:
- Run based on static files hosted by any server.
- Modifiable without a database using CSV files.
- Easy to extend to fit any backend or additional frontend tools.
> pip install -r requirements.txt > make run
When you are ready to deploy run make freeze
to get a static version of the site in the build
folder.
The MiniConf repo:
- Datastore
sitedata/
Collection of CSV files representing the papers, speakers, workshops, and other important information for the conference.
- Routing
main.py
One file flask-server handles simple data preprocessing and site navigation.
- Templates
templates/
Contains all the pages for the site. See base.html
for the master page and components.html
for core components.
- Frontend
static/
Contains frontend components like the default css, images, and javascript libs.
- Scripts
scripts/
Contains additional preprocessing to add visualizations, recommendations, schedules to the conference.
- For importing calendars as schedule see scripts/README_Schedule.md
Miniconf is designed to be a completely static solution. However it is designed to integrate well with dynamic third-party solutions. We directly support the following providers:
-
Rocket.Chat: The
chat/
directory contains descriptions for setting up a hosted Rocket.Chat instance and for embedding chat rooms on individual paper pages. You can either buy a hosted setting from Rocket.chat or we include instructions for running your own scalable instance through sloppy.io. -
Auth0 : The code can integrate through Auth0.com to provide both page login (through javascript gating) and OAuth SSO with Rocket Chat. The documentation on Auth0 is very easy to follow, you simply need to create an Application for both the Miniconf site and the Rocket.Chat server. You then enter in the Client keys to the appropriate configs.
-
SlidesLive: It is easy to embedded any video provider -> YouTube, Vimeo, etc. However we have had great experience with SlidesLive and recommend them as a host. We include a slideslive example on the main page.
-
PDF.js: For conferences that use posters it is easy to include an embedded pdf on poster pages. An example is given.
Mini-Conf was originally built to host ICLR 2020 a virtual conference with 6000 participants.
MiniConf was built by Hendrik Strobelt and Sasha Rush.
Thanks to Darren Nelson for the original design sketches. Shakir Mohamed, Martha White, Kyunghyun Cho, Lee Campbell, and Adam White for planning and feedback. Hao Fang, Junaid Rahim, Jake Tae, Yasser Souri, Soumya Chatterjee, and Ankshita Gupta for contributions.