A hybrid mobile app to help curb the increasing number of deaths from opioid overdose! Provides hardare monitoring of potential overdosing patients and geo-position during overdosing emergencies to emergency responders in the form of text messaging and mobile app notification. Additional features include naloxone provider locator and overdose risk assessment for patients.
- Cross platform (Compiles to Android, iOS and web application)
- Live vitals monitoring
- Customizable Emergency Contacts
- Naloxone store locator
- Emergency dispatcher
- Inforamtive learn pages on Opioid, Naloxone and app
- Suppports account for user and naloxone carrier
Authentication : Handles login, user registration and session management. Also modifying user info etc
Naloxone locator : Shows the live locations of the naloxone carriers that are close to the user. Carriers maybe persons, EMS or hospital
Contact Manager : Manages the list of friends/personel/EMS that maybe contacted in the case of emergency. User can add and remove anyone/personel/EMS from list.
Learn Pages : Displays list of helpful resources on opioid and naloxone, as determined by the product owner. Kind of mini-blog for opioid.
Vitals Monitor : Monitors the state of user (using accelerometer for now) and triggers emergency procedure when necessary.
Emergency Module : Triggers and manages emergency procedure, calling ems or contacts, displaying important info on resuscitation, displaying info about naloxone locator, vibrating phone.
Porting to Native app : Create android and ios versions of the app, including guides on how it can be installed. Notes: Best implemented as a task in the existing task runner. Experience with real android/ios apps would make this a breeze.
The Master branch would remain reserved for historical reasons lol. So we'll use Dev as the staging environment. Hence pulls/clones should always use Dev. But real work is done on individual (named) branches that originate from Dev. So I would push to a branch named origin/justice which originated from (or at least is up to date with) origin/dev.
Some nice git article just in case someone needs it - http://rogerdudler.github.io/git-guide/
An IDE is not required for this project, yaah! But using one would save you a lot. Personally I use WebStorm, I don't know anything better than it yet. Costs about $200 but free with drexel ID. See https://www.jetbrains.com/webstorm/ for download
Git Bash [Kinda Required] - It's does more than add git to your machine, it adds "Bash" shell as well. Download here https://git-scm.com/downloads
Not a fan of the commandline or not interested in learning 'em git commands? Try SourceTree Download link https://www.sourcetreeapp.com/. It's just a nice GUI for git, so you can forget all the commands.
NodeJs [Required] for managing external dependencies. Download and install https://nodejs.org/en/
You may choose to use npm -g install {package}, so then you can just type gulp or ionic server, rather than their path.
- Download and Install for your OS (you'll want 64-bit): https://nodejs.org/en/download/
- Download and Install git bash: https://git-scm.com/download/win
- Open up git bash
- git clone https://github.com/justiceo/Dose-Defender.git dose-defender
- cd dose-defender
- npm install
- node_modules/gulp/bin/gulp.js
- npm install ionic
- node_modules/ionic/bin/ionic server
- Tell it localhost or your IP
- sudo apt-get install npm nodejs-legacy
- git clone https://github.com/justiceo/Dose-Defender.git
- cd dose-defender
- npm install
- node_modules/gulp/bin/gulp.js
- npm install ionic
- node_modules/ionic/bin/ionic server
- Tell it localhost or your IP
- For more information on ionic app layout, see http://ionicframework.com/docs/concepts/structure.html. The ones below are specific to this application
- The source code (and everything that really matters) is in /www
- The /www/app-data directory contains mock data that can be used in place of an actual http call. Example: Paste some json data in www/app-data/my_data.json and navigate to http://localhost:port/app-data/my_data.json to access it.
- The /www/css contains compiled styles (and should not be modified for styling purposes as it is overwritten each time). To style the document use /www/scss.
- /www/img contains image resources
- The application logic starts at /www/js/app.js (It is like the Main class in Java)
- New modules or pages are created by "declaring" them in app.js - in the config section. Specify a name, the end-point (url) and an associated file.
- The js & html code for the modules are usually located in /www/js/templates/module_name
- The dashboard module is the default which is loaded on init or when a desired module isn't found
- Setup following:
- Install java greater than 1.8
- Install Android SDK
- Install Android emulator if you want to use it
- Type 'ionic hooks add' to solve permission issue
- Type 'ionic platform add android' to add android platform
- Type 'ionic build android' to build android apk
- Launch
- on Device: Type 'ionic run android'
- on Emulator: Type 'ionic emulate android'
ot