Skip to content

Commit

Permalink
docs: updates ReadMe
Browse files Browse the repository at this point in the history
  • Loading branch information
Haid-Faiz committed Dec 1, 2021
1 parent 3c76771 commit 6211211
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 10 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/gradle_build_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v1
with:
java-version: 1.8
java-version: 11

- name: Assemble Dubug
run: ./gradlew assembleDebug
run: ./gradlew assembleDebug
47 changes: 44 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,60 @@
[![Platform](https://img.shields.io/badge/platform-android-blue.svg)](http://developer.android.com/index.html)
[![API](https://img.shields.io/badge/API-23%2B-blue.svg?style=flat)](https://android-arsenal.com/api?level=23)

It's an android app: You can create and organise the quizzes on it & then participates can give this quiz.

### Backend Used: Firebase
**QuizLand** is a full fledge **Online Quiz Organiser Android app** that helps you create/organise quizes easily. You can share a quiz among the participants by it's unique id and get the results of participants right on the app, participants can also see thier result.

#### Developed Using: MVVM Architecture and following libraries were used ->
***You can Install the latest QuizLand app from below 👇***

[![QuizLand App](https://img.shields.io/badge/QuizLand-APK-%23121212?style=for-the-badge&logo=android)](https://github.com/Haid-Faiz/QuizLand/releases/download/v1.0.0/quiz_land_v1.0.0.apk)

## ScreenShots
<table>
<ul>
<li>
<h4>App Intro | Quiz participation<h4>
</li>
</ul>
<tr>
<td><img src = "https://user-images.githubusercontent.com/56159740/143897423-8cdb958e-3bfe-483a-a8d3-5a5b53eabaf1.gif" height = "370" width="200"></td>
<td><img src = "https://user-images.githubusercontent.com/56159740/144014767-43680b1f-49fd-4c4a-9749-07321fcb8633.jpg" height = "370" width="200"></td>
<td><img src = "https://user-images.githubusercontent.com/56159740/144013269-d8209228-6707-4aff-815a-68b83021b582.gif" height = "370" width="200"></td>
</tr>
</table>

<table>
<ul>
<li>
<h4>Create Quiz | Participants result<h4>
</li>
</ul>
<tr>
<td><img src = "https://user-images.githubusercontent.com/56159740/143897402-f3074c6e-af6e-494e-a0f5-58ee26ca6378.gif" height = "370" width="200"></td>
<td><img src = "https://user-images.githubusercontent.com/56159740/143898449-0fe8d1da-68a8-4f08-9a20-f06e6f7071bf.jpg" height = "370" width="200"></td>
<td><img src = "https://user-images.githubusercontent.com/56159740/144015396-3711a2e6-4e41-43f5-b6c1-d73b5d08a7dc.jpg" height = "370" width="200"></td>
<td><img src = "https://user-images.githubusercontent.com/56159740/143995430-0fd56021-4847-4b83-9667-200ce5fd2478.gif" height = "370" width="200"></td>
</tr>
</table>

## About

- **Uses Firebase Firestore, Storage, Google authentication**
- **MVVM Archiecture with ***Single Activity Structure*** (having around 14 fragments).**
- Clean and Simple Material UI.
- **Low APK Size (only 3.6 MB).**


### Following libraries were used in development ->

- [Firebase]() - Firebase for server side backend
- [Kotlin Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html) - For asynchronous and more..
- [Android Architecture Components](https://developer.android.com/topic/libraries/architecture) - Collection of libraries that help you design robust, testable, and maintainable apps.
- [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) - Data objects that notify views when the underlying database changes.
- [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - Stores UI-related data that isn't destroyed on UI changes.
- [ViewBinding](https://developer.android.com/topic/libraries/view-binding) - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
- [DataBinding](https://developer.android.com/topic/libraries/data-binding) - The Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
- [Dagger-Hilt](https://dagger.dev/hilt/) - Standard library to incorporate Dagger dependency injection into an Android application.
- [Jetpack Navigation](https://developer.android.com/guide/navigation) - Android Jetpack's Navigation component helps you implement navigation, from simple button clicks to more complex patterns.
- [Coil-kt](https://coil-kt.github.io/coil/) - An image loading library for Android backed by Kotlin Coroutines.
- [Lottie Animation](https://airbnb.io/lottie/#/android) - Lottie is a library for that parses animations exported as json and renders them natively.

4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,10 @@ dependencies {

implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'androidx.appcompat:appcompat:1.4.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.2'

// Dagger-Hilt for Dependency Injection
implementation "com.google.dagger:hilt-android:$hilt_version"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ class DetailsFragment : Fragment() {
navController = Navigation.findNavController(view)
quizData = viewModel.getQuizData()
binding.quiz = quizData

// In Java --->
// position = DetailsFragmentArgs.fromBundle(getArguments()).position
// In Kotlin --->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package com.example.quiz_app_mvvm.ui.quiz.join

import android.content.Context
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
kotlin_version = "1.5.31"
kotlin_version = "1.5.30"
lottie_version = "3.7.0"
nav_version = "2.3.5"
hilt_version = "2.37"
Expand Down

0 comments on commit 6211211

Please sign in to comment.