From 621121187b00e94a5023d764f64867faf4c460cd Mon Sep 17 00:00:00 2001 From: Faizan Haider Date: Wed, 1 Dec 2021 13:43:26 +0530 Subject: [PATCH] docs: updates ReadMe --- .github/workflows/gradle_build_ci.yml | 4 +- README.md | 47 +++++++++++++++++-- app/build.gradle | 4 +- .../ui/quiz/join/DetailsFragment.kt | 1 - .../ui/quiz/join/JoinedQuizzesFragment.kt | 1 - build.gradle | 2 +- 6 files changed, 49 insertions(+), 10 deletions(-) diff --git a/.github/workflows/gradle_build_ci.yml b/.github/workflows/gradle_build_ci.yml index faeb3bb..7f41e33 100644 --- a/.github/workflows/gradle_build_ci.yml +++ b/.github/workflows/gradle_build_ci.yml @@ -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 \ No newline at end of file + run: ./gradlew assembleDebug diff --git a/README.md b/README.md index 3f11907..f1c5c53 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,50 @@ [![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 + + + + + + + +
+ + + + + + + + + +
+ +## 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.. @@ -16,7 +55,9 @@ It's an android app: You can create and organise the quizzes on it & then pa - [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. + diff --git a/app/build.gradle b/app/build.gradle index 4805d0c..38a7415 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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" diff --git a/app/src/main/java/com/example/quiz_app_mvvm/ui/quiz/join/DetailsFragment.kt b/app/src/main/java/com/example/quiz_app_mvvm/ui/quiz/join/DetailsFragment.kt index e9adadc..7c6ed2c 100644 --- a/app/src/main/java/com/example/quiz_app_mvvm/ui/quiz/join/DetailsFragment.kt +++ b/app/src/main/java/com/example/quiz_app_mvvm/ui/quiz/join/DetailsFragment.kt @@ -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 ---> diff --git a/app/src/main/java/com/example/quiz_app_mvvm/ui/quiz/join/JoinedQuizzesFragment.kt b/app/src/main/java/com/example/quiz_app_mvvm/ui/quiz/join/JoinedQuizzesFragment.kt index 1261826..44b807c 100644 --- a/app/src/main/java/com/example/quiz_app_mvvm/ui/quiz/join/JoinedQuizzesFragment.kt +++ b/app/src/main/java/com/example/quiz_app_mvvm/ui/quiz/join/JoinedQuizzesFragment.kt @@ -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 diff --git a/build.gradle b/build.gradle index 1bc92b8..23fbaea 100644 --- a/build.gradle +++ b/build.gradle @@ -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"