Skip to content

AOSSIE-Org/Agora-Android

Repository files navigation

Agora Android Application

Readme

Android Application for Agora Web that uses Agora: An Electronic Voting Library implemented in Scala. This application uses Agora Web API as backend application

This project is created using JavaSE on Android Studio.

To run the development environment for this frontend, you need Git installed.

Table of contents

Installation

Make sure you have the latest version of Android Studio and JavaSE installed. We strongly recommend you to update all the libraries and sync the project(might take a minute).

Running the application

To use Facebook login you will need to change "XXXXXXXXXXXXXXX" with your app id in app/src/main/res/values/string.xml here <string name="facebook_app_id">XXXXXXXXXXXXXXX</string> and here <string name="fb_login_protocol_scheme">fbXXXXXXXXXXXXXXX</string>

Note: Don't forget to add "fb" before your fb_login_protocol_scheme.

Troubleshooting your local environment

Always git pull and get the latest from master. Google and Stackoverflow are your friends. You can find answers for most technical problems there. If you run into problems you can't resolve, feel free to open an issue.

Best practices

  1. Try to do a root cause analysis for the issue, if applicable.
  2. Reference the issue being fixed in the corresponding PR.
  3. Use meaningful commit messages in a PR.
  4. Use one commit per task. Do not over commit (add unnecessary commits for a single task) or under commit (merge 2 or more tasks in one commit).
  5. Add screenshot/short video in case the changes made in the PR, are being reflected in the UI of the application.
  6. Close the issue as soon as the corresponding PR is accepted/closed.

Some don'ts

  1. Send a MR without an existing issue.
  2. Fix an issue assigned to somebody else and submit a PR before the assignee does.
  3. Report issues which are previously reported by others. (Please check both the open and closed issues).
  4. Suggest unnecessary or completely new features in the issue list.
  5. Add unnecessary spacing or indentation to the code.

Further Reading / Useful Links

  • Retrofit-A type-safe HTTP client for Android and Java.
  • Material Design For Android-Material design is a comprehensive guide for visual, motion, and interaction design across platforms and devices.
  • Shimmer For Android-Shimmer is an Android library that provides an easy way to add a shimmer effect to any view in your Android app.
  • gson-A Java serialization/deserialization library to convert Java Objects into JSON and back.
  • Navigation Component- Android Jetpack's Navigation component helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer.
  • Recycler View- To display a scrolling list of elements based on large data sets (or data that frequently changes).
  • Card View- To create card views.
  • Design support- The Android Support Library contains several library packages that can be included in your application. Each of these libraries supports a specific range of Android platform versions and set of features.
  • Pie Chart- A powerful & easy to use chart library for Android.
  • Facebook Login- To implement User login using social media account.
  • Load Toast-Pretty material design toasts with feedback animations.