Language: Kotlin
Objectives: An android Kotlin app. The customer is a big Airline group in Asia.
- Help the user discover privileges and related merchants. User can earn in-app money from their airline miles or convert from their money.
- Allow users to perform transactions using in-app money or Google pay.
- Users can be quickly informed about promotions by push notifications.
Responsibilities:
- Implement app UI and logic.
- Load and display data, apply data binding.
- Implement search function including bypassing accents and punctuation characters, and optimizing for fuzzy search.
- App redirection using Firebase deep link.
- Integrating Insider SDK o Improve app performance using leak canary.
- Decrease crash rate to Investigate and resolve complex issues.
- Support other team members.
- Write unit tests.
Technologies used in this app:
- Android MVVM architecture (including Room database, ViewModel, Live data, Data-binding).
- Navigation components (navigation, transfer data between fragments, activities).
- Google services:
- Google map API: display a map and draw route.
- Location Update services: subscribe user location.
Firebase:
- Firebase Cloud Messaging (FCM) allow sending message to the app users.
- Real time database: check new version update.
- Firebase Crashlytics & analytics.
- Dynamic links.
- Google Pay: allow user to pay using credit card.
- Dependency Injection by Kodein.
- Retrofit for fetching data from app server.
- Insider integration: a marketing SDK that helps to increase user engagement.
Language: Kotlin
Objectives: An android Kotlin app
- To track the user practice (such as Walking, Running, Cycling) and display the practice info to the user.
- Allow users to follow statistics on their activities.
- Allow user to share their achievements with others.
- Taken Role All development life cycle
Responsibility: All app development steps:
- Develop the concept
- Design the app
- Develop app
- Testing
- Publishing
Technologies used in this app:
- Android MVVM architecture (including Room database, ViewModel, Live data, Data-binding).
- Navigation Component (bottom navigation, transfer data between fragments).
- Google services:
- Google map API: display a map and draw route.
- Location Update services: subscribe user location.
- Activity Recognition: detect user activities (walking/running/cycling/tilling).
- Firebase:
- Firebase Auth: allow user login via email/Google – prepare for the next part to save user progress online to Cloud FireStore.
- Firebase Cloud Messaging (FCM) allows sending messages to app users.
- Local push handling by Alarm Manager.
- Dependency Injection by Dagger 2.
- Retrofit for fetching the current weather.
- SDK – Facebook Ads: display banner and interstitial ads
Language: Kotlin
Objectives: An app that allows the user to:
- Get the current and future weather of current device location.
- Fetch the weather of a custom location
- Taken Role: Developer
Responsibility: This app followed a tutorial with my improvement.
The aim of this project was to get more familiar with MVVM architecture.
Technology: Android MVVM architecture (Room database, ViewModel, Model, Fragment, LiveData observer).
- Retrofit.
- Location.
- Json parser (Gson)
Language: Java
Objectives: Expand the usage of push notification, make it more attractive, increase interactions between user and game providing for more game engagement.
Taken Role Developer
Responsibility: Design and implementation.
- Used analytics and defined the use of interactive notifications and which type of push should be implemented.
- Implemented the module — Testing and import this module to the framework – Applied it to the template project and wrote the integrating document.
- Modified GameInstaller module to just download the extra data part each update (Java)
- Wrote test case and handle test in the projects.
- Language C# (Unity) Play store
- Built the scoring system, Projects Premake Fastbuild Project Language Premake, Lua To Objectives make a standard way to configure and use Fastbuild easy and more effective to reduce the compile time (native compile C++ code). Taken Role Developer – Participant Responsibility Write a module to generate standard .bff file for android project Test and fix bugs.
- Projects Premake Fastbuild Project Quick document Language C++ Objectives Build a C++ wrapper to use the Chromium embedded framework to display the HTML 5 video inside a Win32 application.
- Worked in a development role
Responsibilities:
- Design how wrapper should work
- Integrating CEF into the GL project
- Play banner, HTML5 video using CEF
- Export CEFWrapper lib
Language: Python, Java
Objectives: Reduce the downloading amount & time for Android project each update install. Customers Gameloft’s Android Project Taken Role Creator & developer
Responsibility: Design the new mechanism of split data each update -> change the way to packing data for installer (python)
- DAD – Android HD+ Game Android Mobile Game production Team developer.
Projects: Android Mobile Games
- World At Arm
- War Planet Online
Language: Android, Java, C+, Batch, Python
Taken Role: Android porting developer
Responsibility:
- Porting games to runnable on android devices.
- Optimize app size and ensure game performance
- Integrating additional features follow the requirement form producers.
- Integrating Android specific features: social Facebook, G+, Ads, Notifications
- Optimize working process Phantom
Completed coursework towards Bachelor of Information