api: group invitations, leave, join
app.js: intercept errors, show them on page, show loading screen in interceptor