Git Product home page Git Product logo

anishsundaram / remote-office-hours-queue Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tl-its-umich-edu/remote-office-hours-queue

0.0 0.0 0.0 1.89 MB

Virtual queuing tool supporting Zoom video conferencing and/or in person meetings.

Home Page: https://officehours.it.umich.edu/

License: Apache License 2.0

Shell 0.43% JavaScript 0.43% Python 38.70% TypeScript 51.73% CSS 3.99% HTML 4.26% Dockerfile 0.46%

remote-office-hours-queue's Introduction

Remote Office Hours Queue

The Remote Office Hours Queue application helps users to manage and participate in drop-in office hours virtually or in-person. The application can schedule and link to Zoom and BlueJeans video-conferencing meetings. More information about how the tool works is available on the U-M ITS documentation site.

Getting Started

docker-compose up
docker-compose run --entrypoint="" web python manage.py createsuperuser

Visit localhost:8003/admin in your browser and log in with your admin credentials, then visit localhost:8003 to see the app!

Architectural Overview

We use Django 3 as a backend and React plus TypeScript in the frontend. The frontend is served through django-webpack-loader and integrates with the backend via DRF REST endpoints and Django Channels websockets. Authentication is handled with OIDC via mozilla-django-oidc. The user interface leverages Bootstrap 4 and a React implementation of Bootstrap, react-bootstrap.

Development

Backends

Remote Office Hours Queue currently supports meetings in-person or via Zoom or BlueJeans. These meeting providers -- inperson, zoom, and bluejeans -- are considered backends.

To use or develop with BlueJeans, set BLUEJEANS_CLIENT_ID and BLUEJEANS_CLIENT_SECRET as environment variables.

To use or develop with Zoom, set ZOOM_CLIENT_ID and ZOOM_CLIENT_SECRET as environment variables.

Notifications

SMS notifications for hosts and attendees are provided via Twilio.

To use or develop with SMS notifications, set TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, and TWILIO_MESSAGING_SERVICE_SID as environment variables. Twilio provides free trial accounts with limited credit. You can use special test credentials to not be charged. You can also test notifications via unit tests, where Twilio is mocked:

docker-compose run web python manage.py test officehours_api.tests.NotificationTestCase

Migrations

If you need to create migrations in the course of development, do it like so:

docker-compose run web python manage.py makemigrations --settings=officehours.makemigrations_settings

This will generate the migrations with all backends enabled as choices.

remote-office-hours-queue's People

Contributors

jlost avatar ssciolla avatar kris-steinhoff avatar bruinc avatar psteffes avatar mfldavidson avatar vjcao avatar jonespm avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.