Skip to content

The screen for an electronic Post-It note system, built using Flutter and Provider, for my final year project

Notifications You must be signed in to change notification settings

kelvin589/diginotescreen

Repository files navigation

diginotescreen

Diginote screen is the companion app to Diginote to display messages. A documentation page for the public libraries can be found here.

Table of Contents

Overview

A paired Diginote Screen is used to display messages using a Diginote remote.

Diginote Demo

Features

  • Easy screen pairing.
  • Messages can be displayed with various customisation options
  • Messages can be scheduled.
  • A generated QR code leads to a pre-populated Google Forms with your email.

Possible Improvements

  • Adding interactivity to the screen for viewers (e.g., to alert staff).
  • Custmoisable screen background.
  • Two-way communication (e.g., text chat).
  • A way to subscribe to a screen (e.g., by QR code) to receive notifications of messages on a viewer's mobile device.
  • An option to display a title on the screen (e.g., room name)
  • An option to position the QR code and modify the link.

Setup

  1. Setup your development environment by following the official Flutter guide
  2. Setup an emulator (iOS, Android, Chrome, etc.)
  3. Follow the Firebase guide to install and setup Firebase CLI
  4. Run dart pub global activate flutterfire_cli to install FlutterFire CLI
  5. Register for a firebase account (note: the project must be on the Blaze plan for notifications and the QR code to work properly)
  6. Open Firebase console
  7. Set up Authentication
    • Enable the email/password provider
  8. Set up Firestore Database
    • Set up the security rules to allow for read and write
  9. Set up Realtime Database
    • Set up the security rules to allow for read and write
  10. Set up Firebase Cloud Functions (see the diginote_cloud_functions repository)
  11. Clone the project to get a local copy
git clone https://github.com/kelvin589/diginotescreen
  1. Change your directory to the project folder
cd diginotescreen
  1. Install dependencies
flutter pub get
  1. Initialise FlutterFire from the project's root
flutterfire configure
  1. Open main.dart and run the project on an emulator