- Android Studio Bumblebee (2021.1.1) - via Android Developers
- Android SDK 31 and BuildTools 30.0.3 - via Android SDK Manager
- Java JDK 11 - via Azul OpenJDK or Oracle Java Downloads
- npm - via Node.js installer or nvm
- Open terminal
- Execute
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
- Execute
nvm install 16
- Execute
nvm use 16
- Execute
npm install -g mountebank
- Execute
npm install -g npm@8.4.1
- Execute
npm audit fix
- Locate the current directory in terminal
- Execute
mb --configfile imposters.ejs
- Open
build.gradle
in the current directory - Run the project and make sure the app can start correctly(don't worry about if the features are working properly)
The code is an Android app which looks like Wechat Moments page.
We have some requirements during building this app, and you should also try to follow these requirements:
The below screenshots are from Wechat App, they are for reference/inspiration these do not represent the actual output from the given codebase.
- The project is an Android app which looks like Wechat Moments page.
- The page consists of profile image, avatar and tweets list
- For each tweet, there will be a sender, optional content, optional images and comments
- A tweet contains from 0 to 9 images
- Pulling down table view to refresh, only first 5 items are shown after refreshing
- All tweets are fetched and stored in memory at the first time and only show first 5 of them at the beginning and after refresh.
- Show 5 more while user pulling up the view at the bottom of the table view.
- Supports layout on all kinds of android device screen and orientation.
- This is a static page.
- The data JSON will be hosted at localhost:2727
- An example of the response in
Tweet.json
- Unit tests are appreciated.
- Functional programming is appreciated
- Keep your code clean as much as possible Production and Technical requirements are weighing equally in the final result.