Skip to content

hmit106/supervision

 
 

Repository files navigation

Offline-First, Educational Patient Management for Optometrists
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Acknowledgments

About The Project

SuperVision is a patient management system for optometry clinics. It has been designed to be used by the Aotearoa Vision Bus.

Since the application will be used in situations with minimal or no data connection, it has been designed to be functional without an internet connection and to minimise the bandwidth necessary to run it, while still synchronising in real-time with other clients.

(back to top)

Features

  • Offline first functionality
  • Fast realtime synchronisation
  • Low bandwidth usage
  • Patient Management
    • Record Consultations
    • Record Dispensed Spectacles

(back to top)

Documentation

Detailed documentation and C4 diagrams are available here.

(back to top)

Screenshots

Login while online screenshot of login screen
Login while offline screenshot of login screen
Editing/viewing patient details screenshot of login screen
Editing/viewing spectacles details screenshot of login screen
Editing/viewing dispensed spectacles list screenshot of login screen

(back to top)

Built With

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

node 16.x

https://nodejs.org/en/download/

postgresql

Ubuntu
# Install PostgreSQL
sudo apt update
sudo apt install postgresql postgresql-contrib

# Create a User
sudo -u postgres createuser --interactive --pwprompt

# Create database
sudo -u postgres createdb supervision
Windows (chocolatey) https://chocolatey.org/
# Install PostgreSQL
> choco install postgresql --params '/Password:<YOUR_SUPERUSER_PASS>'
# IMPORTANT: Restart all active terminal/bash/cmd/ps sessions
# Create a User
> createuser -U postgres --interactive --pwprompt
> Enter name of role to add: <windows username>
> Enter password for new role: <a password>
> Enter it again: <a password, again>
> Shall the new role be a superuser? (y/n) n
> Shall the new role be allowed to create databases? (y/n) y
> Shall the new role be allowed to create more new roles? (y/n) n
> Password: <YOUR_SUPERUSER_PASS>
# Create the database
> createdb supervision
> Password: <the password for the role you just created>

Configuration

  1. Get an API Key at https://auth0.com
    1. Sign up or login to access the dashboard
    2. Click Create Application
    3. Choose "Single Page Web Application"
    4. Take note of the Client ID and Client Secret
    5. Repeat the process but choosing the "Machine to Machine" application type.
      • Authorise this application for the Auth0 Management API
  2. Clone the repo
    git clone https://github.com/University-of-Auckland-SOFTENG761/project-team-1 supervision
  3. Install NPM packages
    cd supervision
    npm install
  4. Setup backend configuration
    cp apps/backend/.env.template apps/backend/.env
    Fill out the .env file with the details of your postgresql and auth0 configurations.
  5. Modify frontend configuration files as necessary
  6. Run backend
    nx serve backend
  7. Run frontend (in a separate terminal)
    nx serve frontend

(back to top)

Roadmap

This project was created as part of a university course and is no longer actively maintained.

(back to top)

Acknowledgments

(back to top)

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.5%
  • Smarty 0.8%
  • JavaScript 0.5%
  • SCSS 0.4%
  • HTML 0.4%
  • Dockerfile 0.3%
  • Shell 0.1%