/_Note

_Note is a suite of software and services designed for note creation, storage, and sharing across desktop browsers and mobile devices.

Primary LanguageJavaScript

_Note (COMP 4350: Software Development 2 - Group 1)

_Note is a suite of software and services designed for note creation, storage, and sharing across desktop browsers and mobile devices.

Users must allow this system to access their Dropbox in order to use this service.

Link to Production Server: Provided in the Trello Board (card: AWS Production Instance)

Group Members:

  • Mathias Eurich
  • Harrison Mulder
  • Duong Nguyen
  • Graeme Peters
  • Lyndon Quigley
  • Tony Young

How to use _Note:

Currently, _Note has very limited functionality. To use, first you can visit the site at which located on the Trello board, and it will display a link. This link will redirect you to a page that will ask you to give access to make an app folder within your Dropbox. This is how we plan to store, create and view notes across devices.

Using _Note for iOS:

In order to use our app, open the _Note.xcworkspace file and run the simulator for our iOS app. The iOS no longer uses the Dropbox SDK, it communicates with the server via NSURLConnection in order to get the notes.

To run the iOS simulator, just click on the "play" button to the top-left hand corner.

  • In order for you to load your notes into our app, you must first authorize to Dropbox at the initial starting screen by clicking on the "Load from Dropbox"
  • After you have done that, you can either click "Your notes" or swipe to the right in the left area. This will show a list of notes you currently have.
  • Click on "sync notes" once you have authorized to Dropbox in order to load the notes that you have from _Note, from using our desktop browser version.

How to run tests for server code:

Run server/server_tests.py on the command line

How to run QUnit tests for web client:

On our production instance visit the url: /static/qunit.html Note: Clear your cache to make sure you have the most up to date JavaScript files.

How to run Selenium tests for web client:

  • Turn on the _Note server (Type in 'python server.py' where server.py is located)
  • Open Firefox
  • Go to dropbox.com, log in as: User: ummuldeh@myumanitoba.ca Password: comp4350test
  • Delete the 'Apps' folder, if it exists
  • Log out of Dropbox (IMPORTANT! The Selenium tests start by logging into the app itself)
  • Open the Selenium IDE
  • Set the speed from 'Fast' to 'Slow'
  • Go to File --> Add Test Case... (CTRL + D)
  • Highlight all test cases located in the Selenium Tests folder and click Open
  • Right click the 'Untitled' test case and click Delete
  • Make sure that the test cases are ordered from 1 to 9
  • Click 'Play entire test suite'

How to run tests for iOS:

To run the QUnit.m tests, you can open up the workspace file and in the panel to the left, click on the diamond with a line icon. Here is where all the tests are held, and you can run them by clicking the mini-play button that appears when you hover over the test name.

To run the Frank tests, you need to go into the Frank directory of our iOS folder via a command-line interface and then type in 'cucumber'. This will run all of the all of the acceptance tests for our iOS application. (Make sure you have frank-cucumber installed on your computer in order to run the frank tests which you can install by using 'sudo gem install frank-cucumber' an dmake sure that when you do this that your current rspec version is 2.14.1).

If you don't have rspec, then you can install it by using 'sudo gem install rspec 2.14.1'.

Requirements (to run server):

Requirements (to run iOS/iPad app):

  • An iPad/iPod device with a developer's certificate to put the _Note app on (if you want to try the app on a device)
  • XCode 5.0 or higher, in order to run the simulator and code
  • Internet connection (in order to retrieve notes from our server)

Optional:

How to run server (for running on a local machine):

  1. Download this repository from GitHub (via git clone 'url' / git pull)
  2. Make sure you have the necessary requirements installed
  3. Type in 'python server.py' where server.py is located
  4. Now you can visit the web pages that server.py generates by typing in your browser https://127.0.0.1:5000 or https://localhost:5000
  5. Use this to test how the server runs and for future changes to the server.

Reminders / Practices:

  • Make sure to use 'git pull' before 'git push' when pushing to the GitHub repository in the 'master' branch.
  • Create a branch when working on a feature by 'git branch feature_name_here' and switching to it with 'git checkout branch_name'.
  • When done with your changes in the branch, remember to add, commit and merge it back to you local master.
  • Mathias will destroy you when/if you commit broken code.