Skip to content
Innovate-To-GrowPublic

About

When We Meet System

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

Releviz

A meeting planner for large groups. Organizers import a participant list, invite people, and collect weighted availability for in-person and virtual meetings. Releviz then ranks the best continuous meeting windows and sends calendar invitations for the one the organizer picks. One event supports up to 1,000 people and 1,000 time slots.

Releviz Screenshot

How it works

  1. Create an event. Sign in, then set the meeting type, the daily time range and slot size, the meeting length, the days, and who can join. Block out any times that are never available.
  2. Add participants. Enter people one at a time in a side panel or import .xlsx/.csv through a four-step sheet, filter the list by group or response (including who has not been invited yet), change many people at once from the selection bar, and invite everyone not invited yet or send reminders from the Email menu when you are ready. Every email is shown first exactly as recipients will get it, and goes out only after a second confirmation.
  3. Collect availability. Each participant paints Busy / If needed / Available on a schedule grid. The organizer can also enter a schedule for anyone who has not responded themselves.
  4. Pick a time. The organizer dashboard ranks candidate windows by weighted availability, lets you include, exclude, or weight people and groups, and finalizes the meeting with an iCalendar invitation, again after you have reviewed the confirmation email.

See the user guide for the full walkthrough.

Tech stack

Layer Technology
Frontend Next.js 16 static export, React 19, Bootstrap 5.3
Backend Django 6, Django REST Framework, SimpleJWT; gunicorn with uvicorn workers
Database PostgreSQL (RDS) in production; SQLite for local development
Infrastructure AWS Amplify (frontend); public ALB with private ECS Fargate API and workers
IaC and CI/CD Terraform; GitHub Actions

Project structure

src/
  web/        # Next.js UI (static export, no API routes)
  api/        # Django API, authentication, and admin
  e2e/        # Playwright browser tests
infra/
  prod/       # Production Terraform
  bootstrap/  # Terraform state bucket and GitHub OIDC deploy roles
scripts/      # Quality gate, CI helpers, deploy helpers, DB and performance tools
docs/         # User guide, development, configuration, and deployment docs

Local development

Requires Node.js 24 and Python 3.12–3.14. npm run setup:api recreates src/api/.venv; set PYTHON_BIN if python3 is not the right interpreter.

npm install
npm run setup:api
source src/api/.venv/bin/activate
python src/api/manage.py migrate --settings=config.settings.local
npm run dev             # backend on :4000 and frontend on :3000
npm run quality-gate    # lint, test, and build both workspaces

The result and email workers, individual test commands, and CI are covered in docs/development.md.

Documentation

  • User guide: events, rosters, invitations, availability, and results
  • Development: local setup, background workers, tests, CI, and Docker
  • Configuration: environment variables, authentication, and email delivery
  • Deployment: the production release workflow and GitHub environment variables
  • Production bootstrap: state bucket, deploy roles, secrets, and Amplify provisioning

About

When We Meet System

Resources

Stars

1 star

Watchers

1 watching

Forks

Used by

Contributors

Languages