Skip to content
Snippets Groups Projects
Commit aac76dfd authored by ect1u17's avatar ect1u17
Browse files

Updated Readme

parent 54843b4a
No related branches found
No related tags found
No related merge requests found
# README V0.1 # README V0.2
## Purpose ## Contents
- [README V0.2](#readme-v02)
- [Contents](#contents)
- [Statement of Originality](#statement-of-originality)
- [Keywords](#keywords)
- [Abstract](#abstract)
- [Introduction](#introduction)
- [Todo](#todo)
- [Directory Structure](#directory-structure)
## Statement of Originality
I have read and understood the ECS Academic Integrity information and the University’s Academic Integrity Guidance for Students.
I am aware that failure to act following the Regulations Governing Academic Integrity may lead to the imposition of penalties which, for the most serious cases, may include termination of the program.
I consent to the University copying and distributing any or all of my work in any form and using third parties (who may be based outside the EU/EEA) to verify whether my work contains plagiarized material and for quality assurance purposes.
I have acknowledged all sources and identified any content taken from elsewhere.
The use of SleepBetter XB for comparison and images throughout this report was approved by George Muresan, the developer of the application.
I have used the following libraries for my implementation of the project:
- Android Image Cropper by ArtherHub from GitHub [[10](https://github.com/ArthurHub/Android-Image-Cropper)]
- Graph View by jjoe64 from GitHub [[11](https://github.com/jjoe64/GraphView)]
- Compact Calendar View by SundeepK from GitHub [[12](https://github.com/SundeepK/CompactCalendarView)]
- Stitch-Android-SDK by mongodb from GitHub [[13](https://github.com/mongodb/stitch-android-sdk)]
I did all the work myself and have not helped anyone else.
The material in the report is genuine, and I have included all my data and code.
I have not submitted any part of this work for another assessment.
My work did not involve human participants, their cells or data, or animals.
## Keywords
Abbreviation | Description
--- | ---
Box | A collection of experiments
XB | Experiment in a Box (sometimes just experiment)
In5 | InBodied 5
MEECS | Move, Eat, Engage, Cogitate and Sleep
GUI | Graphical User Interface
JSON | Java Script Object Notation
Data Structure | JSON Object (sometimes just structure)
Data Array | An array of data structures
IDE | Integrated Development Environment
## Abstract
Experiments in a Box are five-day long experiments that look at the effects of an activity on one of the five In5 health heuristics. The current process requires the development of a new application each time a new box is created.
This report explains the work done to unify both users and researchers into one application, dubbed the Experiment in a Box Framework, that can run the Experiments in a Box. It also looks to enables researchers to quickly launch novel experiments. This removes the entry barrier into this research domain and allows for a larger volume of research to be produced in this field.
This Framework was created as an Android application. Looking at the SleepBetter Experiment in a Box as a basis, the framework has implemented the same functionality by using free and available libraries for Android.
The Framework was successfully able to recreate the SleepBetter Experiment in a Box natively, however, some of the functionality is still missing. This opens many avenues of future work, including a database restructure, an iOS deployment, and developing a physical device to work alongside the application.
## Introduction
This project is developed by Eamonn Trim, for the third year individual project. This project is developed by Eamonn Trim, for the third year individual project.
It's purpose is to develop an application that allows for Experiments in a Box (XBs) to be quickly launched from within the application. It's purpose is to develop an application that allows for Experiments in a Box (XBs) to be quickly launched from within an application.
An XB requires at the bare minimum a set of instructions that a user will follow in order to attempt to improve one area of their life (Movement, Eating, Engaging, Cogitating, or Sleeping [MEECS]).
In addition to this an XB may allow for the collection of data to enable a broader understanding of the society wide patterns that affect these important aspects of everyday life. ## Todo
- [ ] Update Readme purpose with relevant information
- [ ] Bug fix some of the progress code
- [ ] Update the commits
- [ ] Retrieve a list of commits for the appendix
- [ ] Set up a test script
- [ ] Improve Readme with example images etc
## Directory Structure
```Y3Proj
|-- LICENSE [General License agreement for anyone accessing the git repository]
|-- README.md [A readme for explaining the project for the git repository]
|-- XBFramework.iml [A project based dictionairy (including any gradle / project settings files)]
|-- app [The folder that contains all the code for the project]
| |-- app.iml [Another app based dictionairy (only for the code)]
| |-- build [An automatically generated build folder that holds temporary files during the build process]
| |-- build.gradle [An automatically generated build settings gradle file]
| |-- libs [An automatically generated library folder]
| |-- proguard-rules.pro [A project settings file]
| `-- src [The source code folder]
| |-- androidTest [An automatically generated test folder]
| |-- main [The main source code folder]
| | |-- AndroidManifest.xml [A file containing the manifest for all the pages and permissions in the applicaiton]
| | |-- ic_launcher-web.png [The raw .png for the app logo]
| | |-- java
| | | `-- com
| | | `-- yearthreeproject
| | | `-- xbframework [The actual java code (where all the dynamic features are written) anything with "Activity" is the pages code]
| | | |-- AboutActivity.java
| | | |-- BoxesActivity.java
| | | |-- ExperimentActivity.java
| | | |-- ExperimentSurveyCreatorActivity.java
| | | |-- LoginActivity.java
| | | |-- MainActivity.java
| | | |-- MyNotificationPublisher.java [A backend page used to push notifications even when the application is not running]
| | | |-- NewBoxActivity.java
| | | |-- ProgressActivity.java
| | | |-- ProjectMacros.java [A project defined library that holds functions used commonly throughout the project]
| | | |-- ShopActivity.java
| | | |-- SurveyResponseActivity.java
| | | `-- TestingActivity.java [A page only used in debugging phase, is not longer used in the final product]
| | `-- res [The resouce folder]
| | |-- drawable [Automatically generated XMLs for the launcher icon]
| | | |-- ic_action_right.xml
| | | `-- ic_launcher_background.xml
| | |-- drawable-anydpi [Automatically generated XMLs for the launcher icon for different formats]
| | |-- drawable-hdpi
| | |-- drawable-mdpi
| | |-- drawable-xhdpi
| | |-- drawable-xxhdpi
| | |-- layout [The layout folder for each different page, it is common practice to have an activity_ and content_ page file]
| | | |-- activity_about.xml
| | | |-- activity_boxes.xml
| | | |-- activity_experiment.xml
| | | |-- activity_experiment_survey_creator.xml
| | | |-- activity_login.xml
| | | |-- activity_main.xml
| | | |-- activity_new_box.xml
| | | |-- activity_progress.xml
| | | |-- activity_shop.xml
| | | |-- activity_survey_response.xml
| | | |-- activity_testing.xml [No longer used in final product]
| | | |-- content_about.xml
| | | |-- content_boxes.xml
| | | |-- content_experiment.xml
| | | |-- content_experiment_survey_creator.xml
| | | |-- content_login.xml
| | | |-- content_main.xml
| | | |-- content_new_box.xml
| | | |-- content_progress.xml
| | | |-- content_shop.xml
| | | |-- content_survey_response.xml
| | | `-- content_testing.xml [No longer used in final product]
| | |-- mipmap [Automatically generated .pngs for icon launcher]
| | | |-- ic_launcher.png
| | | |-- ic_launcher_foreground.png
| | | `-- ic_launcher_round.png
| | |-- mipmap
| | |-- raw [Raw files used for initialising different objects within the application]
| | | |-- box.json [The original local box data structure, no longer used]
| | | |-- box_outline.png [A two bit image of the logo for notifications]
| | | |-- local_user_data.json [The original local user data data structure, no longer used]
| | | |-- logo.png [The complete logo for the application]
| | | `-- shop.json [The shop data structure, used to generate the display in the shop page]
| | `-- values [Project wide files for static resource]
| | |-- arrays.xml [Contains a MEECS array, used for a spinner and data verification]
| | |-- colors.xml [The defined colour scheme for the project]
| | |-- strings.xml [A list of static strings to use, the standard way to code GUI in android]
| | `-- styles.xml [A description of the default look of GUI elements within the applicaiton]
| `-- test [An automatically generated folder]
|-- build.gradle [A project wide description of the libraries used and build settings]
|-- gradle [An automatically generated folder for project settings]
| `-- wrapper
| |-- gradle-wrapper.jar
| `-- gradle-wrapper.properties
|-- gradle.properties [More project settings]
|-- gradlew
|-- gradlew.bat
|-- local.properties
|-- settings.gradle
|-- planning [A folder containing all the supplementary planning documentation for this project]
| |-- Bill of Materials.xlsx
| |-- Daily progress.xlsx
| |-- Gantt.xlsx
| |-- Logbook.pdf [A scanned copy of the logbook entries used for this project]
| `-- Risk analysis.xlsx
|-- reports [A folder containing the two reports written for this project]
| |-- final [A folder contianing the final report]
| | |-- Project Report Body.docx
| | |-- Project Report Body.pdf
| | |-- Project Report.docx
| | `-- Project Report.pdf
| |-- project brief [A folder contianing the initial project brief]
| | `-- Project Brief.docx
| `-- progress [A folder containing the progress report]
| |-- Progress Report Body.docx
| |-- Progress Report.docx
| |-- Progress Report.pdf
| `-- ShorterReportBody.pdf
|-- Y3Proj File Structure.txt [This file]
`-- designs [A folder containing the design files relating to this project]
`-- saltshaker.png ```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment