English Now is an awesome Android app based on MVVM architecture with Android Data Binding using Dagger 2, RxJava2, new Android Arch Components, OpenTok client sdk, Firebase and NodeJS server.
It allows a users to practice speaking, writing, chatting in English. By the time using this app, English level of users will be improved.
Time spent: 48 hours spent in total
Apply software architecture techniques inside this list
The basic required functionality:
- Find a friend to practice speaking English throught video call
- Chatting with other friends in English
- Writing/updating personal statuses, posts in English
The extended features are implemented:
- User can connect and share post/status with other social network.
The advance features are implemented:
- Improve UI/UX
Heroku is a PaaS (Platform as a Service) that can be used to deploy simple and small applications for free. To easily deploy EnglishNow NodeJS server repository to Heroku, sign up for a Heroku account and click this button:
Heroku will prompt you to add your OpenTok API key and OpenTok API secret, which you can obtain at the TokBox Dashboard.
Here's a walkthrough of implemented user stories:
This project use localdb combine with Firebase and NodeJS server, so it cannot provide any method to import data by Firebase JSON files. Tester MUST sign up and sign in in-app.
- OpenTok - Everything you need to build WebRTC
- Firebase - build better mobile apps and grow your business
- RxJava - Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the JVM.
- RxAndroid - RxJava bindings for Android
- Dagger 2 - A fast dependency injector for Android and Java.
- Android Architecture Components - A collection of libraries that help you design robust, testable, and maintainable apps.
- Retrofit - Type-safe HTTP client for Android and Java by Square, Inc
- EventBus - A publish/subscribe event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.
- Timber - A logger with a small, extensible API which provides utility on top of Android's normal Log class
- Glide - An image loading and caching library for Android focused on smooth scrolling
- CircleImageView - A circular ImageView for Android
Copyright 2017 IceTeaViet
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.