Supporting Documents

Elevator Pitch & Blog Post

Poster & Lab Demo

Deployment Manual

X5GON-mobile Build Status Version Swift Version

onefetch

Prerequisites
  • Git
  • Xcode 11.3+(ideally 11.4) running on macOS 14 Mojave+(ideally 15 Catalina)
  • Apple Device running iOS(iPadOS) 13.3+(ideally 13.4) or a Device Simulator with similar specs
  • Cocoapods
  • Homebrew (CLI-only)
  • ios-sim (CLI-only)
  • ruby-gem (docs-only)
  • jazzy (docs-only)
  • swiftformat (dev-only)
General Installation
$ git clone https://github.com/magetron/x5gon-mobile.git
$ pod install
$ brew install ios-sim (CLI-only)
$ gem install jazzy (docs-only)
$ brew install swiftformat (dev-only)

To Use Xcode GUI:

Build and Run

Double click to open x5gon-mobile.xcworkspace and select target on top left corner.

Click the Run Button to build and run.

RUN-GUI

To Use CLI

Build First

$ source ./scripts/build.sh

Then Run

$ source ./scripts/run.sh

Note: It is possible to run iOS application with temporary signature on an actual iPhone using CLI. However, given the complexity of steps, we do not recommend this deployment method.

Building, Testing

To Use Xcode GUI:

Select relevant option / profile in the Product drop down menu of Xcode.

Xcode-product

To Use CLI

Build with Test

$ source ./scripts/build.sh -test

Alternatively, test with Swift 5.1, Xcode 11.3 backwards compatible feature.

$ source ./scripts/build.sh -old-test

Test Only

$ xcodebuild test -workspace x5gon-mobile.xcworkspace -scheme x5gon-mobile -destination 'platform=iOS Simulator,name=iPhone 11 Pro Max,OS=13.4'

Change destination argument as you wish to test on different devices or different OS versions.

Documentation

Online version deployed on GitHub Pages.

Build Docs

$ source ./scripts/build-docs.sh

Static Documentation will be generated at ./docs.

Simply double click ./docs/index.html to open with a browser or use open ./docs/index.html on macOS.

Setting up new Development Environment

Install Development Dependencies and Git Hooks

$ source ./scripts/setup-dev.sh

This script

  • sets up a local Git pre-commit hook to run git-diff and swiftformat on source code.
  • installs development required dependencies for local user.

User Manual

alternative


See the deployed User Manual here, or click on the image on the left.

Application End-User License Agreement (EULA)

With no contract provided from UCL or our client, we drafted this EULA for protecting our intellectual property as well as our client's.



End-User License Agreement ("Agreement")
========================================

Last updated: February 23, 2020

Please read this End-User License Agreement carefully before clicking the "I
Agree" button, downloading or using X5GON Mobile.

Interpretation and Definitions
==============================

Interpretation
--------------

The words of which the initial letter is capitalized have meanings defined
under the following conditions.

The following definitions shall have the same meaning regardless of whether
they appear in singular or in plural.

Definitions
-----------

For the purposes of this End-User License Agreement:

* Agreement means this End-User License Agreement that forms the entire
agreement between You and the Company regarding the use of the
Application.
* Application means the software program provided by Patrick Wu and
Yinrui Hu downloaded by You to a Device, named X5GON Mobile
* Patrick Wu and Yinrui Hu (referred to as either "the Company", "We",
"Us" or "Our" in this Agreement) refers to X5GON Mobile.
* Content refers to content such as text, images, or other information that
can be posted, uploaded, linked to or otherwise made available by You,
regardless of the form of that content.
* Country refers to: United Kingdom
* Device means any device that can access the Application such as a
computer, a cellphone or a digital tablet.
* Third-Party Services means any services or content (including data,
information, applications and other products services) provided by a
third-party that may be displayed, included or made available by the
Application.
* You means the individual accessing or using the Application or the
company, or other legal entity on behalf of which such individual is
accessing or using the Application, as applicable.

Acknowledgement
===============

By clicking the "I Agree" button, downloading or using the Application, You
are agreeing to be bound by the terms and conditions of this Agreement. If You
do not agree to the terms of this Agreement, do not click on the "I Agree"
button, do not download or do not use the Application.

This Agreement is a legal document between You and the Company and it governs
your use of the Application made available to You by the Company.

The Application is licensed, not sold, to You by the Company for use strictly
in accordance with the terms of this Agreement.

You represent that you are over the age of 18. The Company does not target its
Content to children or teenagers under 18, and the Company does not permit any
user under 18 for using the Application.

License
=======

Scope of License
----------------

The Company grants You a revocable, non-exclusive, non-transferable, limited
license to download, install and use the Application strictly in accordance
with the terms of this Agreement.

The license that is granted to You by the Company is solely for your personal,
non-commercial purposes strictly in accordance with the terms of this
Agreement.

License Restrictions
--------------------

You agree not to, and You will not permit others to:

* Remove, alter or obscure any proprietary notice (including any notice of
copyright or trademark) of the Company or its affiliates, partners,
suppliers or the licensors of the Application.

Third-Party Services
====================

The Application may display, include or make available third-party content
(including data, information, applications and other products services) or
provide links to third-party websites or services.

You acknowledge and agree that the Company shall not be responsible for any
Third-party Services, including their accuracy, completeness, timeliness,
validity, copyright compliance, legality, decency, quality or any other aspect
thereof. The Company does not assume and shall not have any liability or
responsibility to You or any other person or entity for any Third-party
Services.

You must comply with applicable Third parties' Terms of agreement when using
the Application. Third-party Services and links thereto are provided solely as
a convenience to You and You access and use them entirely at your own risk and
subject to such third parties' Terms and conditions.

Term and Termination
====================

This Agreement shall remain in effect until terminated by You or the Company.

The Company may, in its sole discretion, at any time and for any or no reason,
suspend or terminate this Agreement with or without prior notice.

This Agreement will terminate immediately, without prior notice from the
Company, in the event that you fail to comply with any provision of this
Agreement. You may also terminate this Agreement by deleting the Application
and all copies thereof from your Device or from your computer.

Upon termination of this Agreement, You shall cease all use of the Application
and delete all copies of the Application from your Device.

Termination of this Agreement will not limit any of the Company's rights or
remedies at law or in equity in case of breach by You (during the term of this
Agreement) of any of your obligations under the present Agreement.

Indemnification
===============

You agree to indemnify and hold the Company and its parents, subsidiaries,
affiliates, officers, employees, agents, partners and licensors (if any)
harmless from any claim or demand, including reasonable attorneys' fees, due
to or arising out of your: (a) use of the Application; (b) violation of this
Agreement or any law or regulation; or (c) violation of any right of a third
party.

No Warranties
=============

The Application is provided to You "AS IS" and "AS AVAILABLE" and with all
faults and defects without warranty of any kind. To the maximum extent
permitted under applicable law, the Company, on its own behalf and on behalf
of its affiliates and its and their respective licensors and service
providers, expressly disclaims all warranties, whether express, implied,
statutory or otherwise, with respect to the Application, including all implied
warranties of merchantability, fitness for a particular purpose, title and
non-infringement, and warranties that may arise out of course of dealing,
course of performance, usage or trade practice. Without limitation to the
foregoing, the Company provides no warranty or undertaking, and makes no
representation of any kind that the Application will meet your requirements,
achieve any intended results, be compatible or work with any other software,
applications, systems or services, operate without interruption, meet any
performance or reliability standards or be error free or that any errors or
defects can or will be corrected.

Without limiting the foregoing, neither the Company nor any of the company's
provider makes any representation or warranty of any kind, express or implied:
(i) as to the operation or availability of the Application, or the
information, content, and materials or products included thereon; (ii) that
the Application will be uninterrupted or error-free; (iii) as to the accuracy,
reliability, or currency of any information or content provided through the
Application; or (iv) that the Application, its servers, the content, or
e-mails sent from or on behalf of the Company are free of viruses, scripts,
trojan horses, worms, malware, timebombs or other harmful components.

Some jurisdictions do not allow the exclusion of certain types of warranties
or limitations on applicable statutory rights of a consumer, so some or all of
the above exclusions and limitations may not apply to You. But in such a case
the exclusions and limitations set forth in this section 11 shall be applied
to the greatest extent enforceable under applicable law. To the extent any
warranty exists under law that cannot be disclaimed, the Company shall be
solely responsible for such warranty.

Limitation of Liability
=======================

Notwithstanding any damages that You might incur, the entire liability of the
Company and any of its suppliers under any provision of this Agreement and
your exclusive remedy for all of the foregoing shall be limited to the amount
actually paid by You for the Application or through the Application.

To the maximum extent permitted by applicable law, in no event shall the
Company or its suppliers be liable for any special, incidental, indirect, or
consequential damages whatsoever (including, but not limited to, damages for
loss of profits, loss of data or other information, for business interruption,
for personal injury, loss of privacy arising out of or in any way related to
the use of or inability to use the Application, third-party software and/or
third-party hardware used with the Application, or otherwise in connection
with any provision of this Agreement), even if the Company or any supplier has
been advised of the possibility of such damages and even if the remedy fails
of its essential purpose.

Some states/jurisdictions do not allow the exclusion or limitation of
incidental or consequential damages, so the above limitation or exclusion may
not apply to You.

Severability and Waiver
=======================

Severability
------------

If any provision of this Agreement is held to be unenforceable or invalid,
such provision will be changed and interpreted to accomplish the objectives of
such provision to the greatest extent possible under applicable law and the
remaining provisions will continue in full force and effect.

Waiver
------

Except as provided herein, the failure to exercise a right or to require
performance of an obligation under this Agreement shall not effect a party's
ability to exercise such right or require such performance at any time
thereafter nor shall be the waiver of a breach constitute a waiver of any
subsequent breach.

Product Claims
==============

The Company does not make any warranties concerning the Application. To the
extent You have any claim arising from or relating to your use of the
Application, the Company is responsible for addressing any such claims, which
may include, but not limited to: (i) any product liability claims; (ii) any
claim that the Application fails to conform to any applicable legal or
regulatory requirement; and (iii) any claim arising under consumer protection,
or similar legislation.

United States Legal Compliance
==============================

You represent and warrant that (i) You are not located in a country that is
subject to the United States government embargo, or that has been designated
by the United States government as a "terrorist supporting" country, and (ii)
You are not listed on any United States government list of prohibited or
restricted parties.

Changes to this Agreement
=========================

The Company reserves the right, at its sole discretion, to modify or replace
this Agreement at any time. If a revision is material we will provide at least
30 days' notice prior to any new terms taking effect. What constitutes a
material change will be determined at the sole discretion of the Company.

By continuing to access or use the Application after any revisions become
effective, You agree to be bound by the revised terms. If You do not agree to
the new terms, You are no longer authorized to use the Application.

Governing Law
=============

The laws of the Country, excluding its conflicts of law rules, shall govern
this Agreement and your use of the Application. Your use of the Application
may also be subject to other local, state, national, or international laws.

Entire Agreement
================

The Agreement constitutes the entire agreement between You and the Company
regarding your use of the Application and supersedes all prior and
contemporaneous written or oral agreements between You and the Company.

You may be subject to additional terms and conditions that apply when You use
or purchase other Company's services, which the Company will provide to You at
the time of such use or purchase.

Contact Us
==========

If you have any questions about this Agreement, You can contact Us:

* By email: patrick.wu.17@ucl.ac.uk
                            

All contents in this website, including but not limited to images, articles and layouts, with the exception of the project's proprietary code base, are distributed and published under the following license.

Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License

By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.

Section 1 – Definitions.

  1. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
  2. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
  3. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
  4. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
  5. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
  6. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
  7. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
  8. NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
  9. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
  10. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
  11. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.

Section 2 – Scope.

  1. License grant.
    1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
      1. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
      2. produce and reproduce, but not Share, Adapted Material for NonCommercial purposes only.
    2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
    3. Term. The term of this Public License is specified in Section 6(a).
    4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
    5. Downstream recipients.
      1. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
      2. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
    6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
  2. Other rights.

    1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
    2. Patent and trademark rights are not licensed under this Public License.
    3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.

Section 3 – License Conditions.

Your exercise of the Licensed Rights is expressly made subject to the following conditions.

  1. Attribution.

    1. If You Share the Licensed Material, You must:

      1. retain the following if it is supplied by the Licensor with the Licensed Material:
        1. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
        2. a copyright notice;
        3. a notice that refers to this Public License;
        4. a notice that refers to the disclaimer of warranties;
        5. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
      2. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
      3. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
      For the avoidance of doubt, You do not have permission under this Public License to Share Adapted Material.
    2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
    3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.

Section 4 – Sui Generis Database Rights.

Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:

  1. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only and provided You do not Share Adapted Material;
  2. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
  3. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.

Section 5 – Disclaimer of Warranties and Limitation of Liability.

  1. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
  2. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
  1. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.

Section 6 – Term and Termination.

  1. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
  2. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:

    1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
    2. upon express reinstatement by the Licensor.
    For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
  3. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
  4. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.

Section 7 – Other Terms and Conditions.

  1. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
  2. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.

Section 8 – Interpretation.

  1. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
  2. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
  3. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
  4. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.

Additional languages available: Bahasa Indonesia, Español, euskara, Deutsch, Español, français, hrvatski, italiano, latviski, Lietuvių, Nederlands, norsk, polski, português, suomeksi, svenska, te reo Māori, Türkçe, čeština, Ελληνικά, русский, українська, العربية, 中文, 日本語, 華語, 한국어. Please read the FAQ for more information about official translations.

Credits to Inovatik.com for providing this website template. To learn more, visit Leno - HTML Template for more information.