Project Overview - Team-takeTurns/takeTurns GitHub Wiki

Project Overview

More detailed documentation can be found at link below.
Link to Google Drive

Background

A family is looking for a solution that would allow easy scheduling of turns in taking care of their father who suffers from Alzheimer’s. Currently the family is scheduling activities via email which tends to be complicated as some members, sometimes, start a separate chain or respond only to one person. They use a variety of devices, ranging from cellphones, tablets and to desktops, of different brands and also have different e-mail providers.

Literature review

Some solutions were investigated:

  1. Google calendar.
    Google calendar allows multiple users to view each other’s calendars. It has a mobile version for multiple types of devices and desktop version. It has a nice UI, color coding, reminders, and many other interesting features. This option was not attractive to the customer for the following reasons:
    1. Every user has to have a Gmail account to use Google calendar and those who doesn’t have it are required to sign-up.
    2. Google Calendar offers too many features which seem to make it complicated for the customer.

  2. Doodle.
    The strengths include: no sign up necessary, simple navigation, nice UI. The customer wants to have an overview of the week or even a month and the drill down to particular day. Doodle offers monthly view and weekly view but it does not fit the screen. The main reason this option was not attractive to the customer is that the view does not meet their needs.

Proposed solution

A web app for both desktop and mobile devices.

Strengths:
  1. A web application that runs on browser eliminates work for creating an app for each type of device in the mobile sector
  2. Simple navigation
  3. User-friendly view (monthly, weekly, daily)
  4. No sign-up required
Weaknesses:
  1. Limited data storage
  2. Compared to native apps, web apps have limited access to features in a mobile device
    Provide a diagram of your system’s architecture with proper captioning and accompanying explanations in the body of the text.

Architecture

Client

Server

Database

* User accesses web app from their smartphone, tablet, or PC.
* App uses RESTful services to provide real-time data to the users
* App sends requests from user to node.js server
* Node.js server sends responses and receives requests in real time
* Node.js sends customer created content and details to MongoDB
* Node.js is used for email notifications
* MongoDB stores customer created content and user details as JSON files
⚠️ **GitHub.com Fallback** ⚠️