IELTS mobile app - GenosTech/genostech.github.io GitHub Wiki

IELTS MOBILE APP

What is IELTS?

Gitter

Questions happening in recent IELTS tests have a tendency to appear all over again in later IELTS tests. Knowing this fact, over the time, IELTS quarterly forecasting comes to become a popular activity by all IELTS takers around the world.

To be well-prepared for the IELTS test (both IELTS Academic & IELTS General Training Module), users can use this IELTS forecast app to practice provided topics by the app at home before sitting the IELTS test. The app's content staffs will therefore have to update these sample questions/topics frequently for users to access them through the app.

This IELTS Forecast app is dedicated to IELTS Speaking Skill only. It also includes other features to help users well prepared before their IELTS tests.

App preview

Screenshots

Demo video

Preview - IELTS forecast mobile app by React Native

Features (With respect to IELTS Speaking Test)

  • Listing forecasted questions in a selected quarter
  • Listing forecasted quarters on a modal
  • Displaying details of a test sample with TEXT-TO-SPEECH feature allowing users to hear sample answers in English.
  • Listing speaking topics
  • Listing sample questions in each topics
  • Displaying details of a sample
  • Listing lessons
  • Displaying details of a lesson in webview. Content of a lesson therefore can be written in rich-text format.
  • Displaying about us pages including information and relevant links

Technical stack

Installation

1. Install dependencies

$ npm install

2. Link native dependencies

React Native modules that include native Objective-C, Swift, Java, or Kotlin code have to be "linked" so that the compiler knows to include them in the app.

$ react-native link

For iOS, there is one more step. In the ios/ directory run:

$ pod install

For Android, we will have to convert our app to AndroidX, run:

$ npx jetify

Usage

The default settings in our source code use fixture (offline) data.

You can try to connect the app with our dedicated backend server to use online data by changing settings like below:

In the App/Config/DebugConfig.js file, set useFixtures to false

useFixtures: false,

In the App/Config/AppConfig.js file, set apiBaseUrl as follows

export const apiBaseUrl = 'http://157.245.148.145:8080/';

That's it.

We do not guarantee that our online api backend will always be there for demo-ing. So please use fixture in case the online server is unavailable.

For production, consider building and hosting your data on a dedicated server. Our api backend are based on this open source https://github.com/esbenp/larapi (An API-friendly fork of Laravel). You can see sample API calls as in App/Services/Api.js.

API implementation based on this fork is generally straightforward. You can find more at: http://esbenp.github.io/2016/04/11/modern-rest-api-laravel-part-0/

To run IeltsApp on android, run

$ react-native run-android

To run IeltsApp on iOS, run

react-native run-ios

or

Open `ios/IeltsApp.xcworkspace` (instead of `ios/IeltsApp.xcodeproj` in Xcode).

More references on how to run React Native app on different platforms