Skip to content

ablease/Lightbox

Repository files navigation

#Makers Academy Final Project: Lightbox ##A Secure Chat App for Doctors

Code Climate Test Coverage

Our challenge for the 2 week final project at Makers Academy is to develop a chat application specifically for use by Doctors.

Technologies are not specified within the brief - they must be decided upon by the teams based on the merits of each technology for the project they have been given.

Projects should adhere to an Agile methodology and be developed in a test driven manner wherever possible.

The Lightbox Team

Technologies Used

Languages Technologies Testing Tools Misc
Javascript Sinatra RSpec Project Homepage: Agile Ventures
HTML WebSocket Cucumber Project Management: Pivotal Tracker
CSS Cramp GUI Sketches: Balsamiq
Ruby

###The Problem

As a Medical Professional, getting a second opinion for a patient can be a lengthy and expensive process. Patient data may only be viewed by medical staff outside of the patient's case under a myriad of rules and regulations. This means that this process is often conducted in prearranged face to face meetings, at great cost in terms of time and inconvenience for the participating doctors.

Traditionally a doctor could meet with another doctor in a private face-to-face environment to discuss one-off patient cases. At this meeting a Caldicott Guardian must be present and various legal documents signed to ensure patient data security.

Of course Doctors already have access to various popular chat applications, such as WhatsApp and Facebook Messenger, but they do not adequately answer questions surrounding patient data security.

What if Medical Professionals had a dedicated chat application that verifies users as Qualified Medical Professionals and adhered to patient data protection standards in the UK?

###Version 0 - Planning Stages

With our Client's problem now defined - the next step was to structure a solution. Vital features that meet the minimum criteria for a basic solution are priorised forward during the planning stage. "Nice to have" features are planned into later versions of the application (in the manner shown below).

MVP

This forms a solid framework on which the rest of the project can be built against. Each planned version and its features is summarised below, and shown on our live project management board:


#####Version 1: Skateboard

  • Feature 1: A User can 'Sign Up' with an email address and a General Medical Council (GMC) number.
  • Feature 2: A User can 'Login' to a single chat room and exchange messsages with other users.
  • Feature 3: A User is presented with a basic mobile web app format - as sketched. here.

#####Version 2: Scooter

  • Feature 4: A User's GMC number is validated at the GMC website when they 'Sign Up'.
  • Feature 5: A User can create and/or join numerous chat rooms.

#####Version 3: Bike

  • Feature 6: A User's messages are protected using end-to-end encryption.
  • Feature 7: A User is presented with a more aesthetic mobile web format, plus a basic desktop view.

Experimenting with frameworks

Before we decided on a stack of technology to use to build this project we spiked a few options, namely Socket.io, Node.js & Express.js.

It was quick and relativly straight forward to setup a basic chat server using Socket.io, but implentation beyond the most simple and most basic features seemed to promise slow progress and a lack of flexibility for what we needed on the security features for our App.

Having used Sinatra extensively for previous projects, the framework felt easy to implement with more flexibility, and with our current skill set, easily expandible into later stage features.

###Execution of the Project

####Version 1

Feature 1 - Building out our testing files (Feature, Acceptance & Integration tests). Building out our Views for Sign Up, Login and a Homepage. Creating routes between the View and the back end of the App. Initialise the database, and build a User Model to handle parameters send from the Front End.

Feature 2 - Building a new Feature test, and subsequent Acceptance and Integration tests. New View created for Chat Rooms & Websockets logic implemented.

Feature 3 - Basic HTML format and accompanying stylesheet.

About

Lightbox is an app to manage MDT's for doctors

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •