In this project, the team is to be able to develop ScrambledTasks a point-to-point mobile navigation application that is compatible with both Android and iOS platforms. The product will help the users to navigate around by finding their first mile last mile (FMLM) routes from their current/proposed location. To entice user to discover new routes in their daily commute, the team will be placing in some game elements to occupy the users from a boring commute. Lastly, this document is to present the System State Diagram with all the test cases and individual members sample unit test plans.
We have changed our system architecture from MVC architecture to Layered Architecture as it fits the design of our system much more in terms of seperating the presentation layer and having to go through the business layer to reach the data layer.
You will need an Android device / emulator with Android 9.0 / API Level 28 or newer, Node 8.3 or newer, Python 2, Java SE Development Kit 8 (JDK 8) and Android Studio.
Follow the post installation instructions at: https://facebook.github.io/react-native/docs/getting-started
- Clone this repository:
git clone https://github.com/Infiole/ict2x01-2019t1-team02.git ICT2101
- Go into the cloned repository:
cd ICT2101
- Execute
npm install
- Execute
react-native run-android
for Android Devices orreact-native run-ios
for iOS Devices
* Do note that you may need to either run a device emulator or plug-in your device before doing step 4.
* iOS Devices require MacOS and a signing certificate in order to execute. Android can be executed in any operating system.
** In the event of a build error, delete /android/app/build/
folder and try again.
You can alternatively install the bundled APK/IPA file onto your device to run the application.
In order for the cron jobs to work, you will need to install a set of scripts in a dedicated/cloud server or your local development machine. You may need an email server if you want to send emails.
Cron jobs includes the following:
- Reset daily, weekly and clique tasks on Sun 0000hrs.
- Send emails to the top 3 winners in the leaderboard.
- Go into
/scripts/
folder - Execute
npm install
- Setup the cron job to execute
npm run start
in this folder.
- MAP-03 View All Added Routes
- MAP-04 View Added Route
- MAP-05 Remove Route
- MAP-06 Add New Routes
Due to API limitations of being unable to track the user accurately to draw a user's custom route, we felt that we could not implement the feature as originally intended in the requirements specifications. As such, we did not implement MAP-06, "Add New Routes" use case. Naturally, if there is no source of routes, we will not be able to do the other use cases which details viewing and deleting of routes.