Giter VIP home page Giter VIP logo

bookdash-android-app's Introduction

What does this app do?

It is an open source Android application that allows people to download children's story books. The books are available in different languages such as English, Sepedi, Zulu, Afrikaans etc. The books are free to distribute and translate.

Read more about Book Dash here: http://bookdash.org/

Bookdash Android

BuddyBuild

Check out the blog post here: http://riggaroo.co.za/book-dash-android-app/

Download the app: https://play.google.com/store/apps/details?id=org.bookdash.android

Open Beta Testing Group: https://play.google.com/apps/testing/org.bookdash.android

Book Dash is an Android App for the NPO where you can download books in different languages for free.

Screenshots

phone image

phone image

phone image

Libraries this app uses:

  1. MaterialHelpTutorial - https://github.com/spongebobrf/MaterialIntroTutorial
  2. FabButton - https://github.com/ckurtm/FabButton
  3. Firebase - https://firebase.google.com/
  4. Glide Image Loading - https://github.com/bumptech/glide

Setup

  1. Clone or download this repo.
  2. This app runs off a Firebase backend. You will need to generate your firebase backend. To do this, navigate to https://firebase.google.com/ and sign up. Create a project called "Book Dash" (or what ever you want to call it).
  3. Navigate to "Database", select the three dots and then select "Import JSON". Select the file server/book-dash-a93c3-export.json. Allow Firebase to import the data. You will also then need to place books in the storage container on firebase. You can find an example book located here: server/simaandsiza-en.zip. Navigate to your Firebase console, and click storage, create a folder for the books and place them in there. You can then set the download URL of one of the books to use the book you have just uploaded to firebase storage in the STORAGE_PREFIX object. Within each zip file for a book, there is a file called bookdetails.json, this file is used to describe the images used and the number of pages in a book. In FirebaseConfig class you will need to change the base url of your book storage in the variable named -
  4. The database rules and storage rules can also be imported into Firebase, those files are also located in the server folder. (For more info on getting your own server up and running, check out https://github.com/bookdash/bookdash-backend-admin-portal
  5. You will need to generate your own google-services.json file to use with the app. Navigate to the Firebase project settings dashboard. You should see an option to download the google-services.json file. This must then be placed into the app folder of this project.

[OPTIONAL setup]

  1. If you wish to build a release version you will need to create your own keystore file and edit the password values in the following file - (create a version of the file without the .sample extension): release-keystore.properties.sample
  2. If you want to add Firebase Crashlytics to your app: Setup a Firebase Account. https://firebase.google.com/docs/crashlytics

Contributions

Contributions are welcome. Please read the contributions guide for more information.

License

Copyright 2023 Book Dash.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you 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.

bookdash-android-app's People

Contributors

dannywerk avatar heinrichwesson avatar lgleasain avatar mandivandermerwe avatar riggaroo avatar skrzyneckik avatar spongebobrf avatar ugochukwu avatar xjormungandr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bookdash-android-app's Issues

Make the help tutorial available after first viewing.

Make the help tutorial available after first viewing.
More info: We also wanted to know if it would be possible to make the tutorial screens available after the first time you open the app? Maybe a "Tutorial" option on the menu or added to the "About" section?

Add instructions on how to upload books to storage

Hi,

I was following instructions on how to build the project locally so I hopefully could contribute to this awesome project. I am new to firebase and opensource. Can you provide some instructions on how to upload books to the firebase storage container? Do I need json metadata for each book? Where do I download them from? Thank you.

"You will also then need to place books in the storage container on firebase. You should be able to download some books, upload then and change the URL references to point to your book in your storage container."

Build Failed: Execution failed for task ':app:processMockDebugGoogleServices'.

Hello,

I am experiencing an issue while trying to to open this project in Android studio, I tried everything, below is the gradle issue, can you please help me :

Error: File google-services.json is missing from module root folder. The Google Services Plugin cannot function without it.

Gradle Console:
Executing tasks: [:app:generateMockDebugSources, :app:generateMockDebugAndroidTestSources, :app:compileMockDebugSources, :app:compileMockDebugAndroidTestSources, :fabbutton:generateDebugSources, :fabbutton:generateDebugAndroidTestSources, :fabbutton:compileDebugSources, :fabbutton:compileDebugAndroidTestSources]

Parallel execution with configuration on demand is an incubating feature.
google-services plugin could not detect any version for com.google.android.gms, default version: 8.3.0 will be used.
please apply google-services plugin at the bottom of the build file.
:app:preBuild UP-TO-DATE
:fabbutton:preBuild
:app:preMockDebugBuild UP-TO-DATE
:fabbutton:preBuild UP-TO-DATE
:app:checkMockDebugManifest
:fabbutton:preReleaseBuild UP-TO-DATE
:app:preProdDebugBuild UP-TO-DATE
:fabbutton:compileReleaseNdk UP-TO-DATE
:app:preProdReleaseBuild UP-TO-DATE
:fabbutton:compileLint
:app:generateMockDebugAssets UP-TO-DATE
:fabbutton:copyReleaseLint UP-TO-DATE
:app:generateMockDebugResValues
:fabbutton:checkReleaseManifest
:fabbutton:preDebugAndroidTestBuild UP-TO-DATE
:fabbutton:preDebugBuild UP-TO-DATE
:fabbutton:preDebugUnitTestBuild UP-TO-DATE
:fabbutton:preReleaseUnitTestBuild UP-TO-DATE
:app:generateMockDebugResValues UP-TO-DATE
:fabbutton:prepareComAndroidSupportAppcompatV72220Library
:app:processMockDebugGoogleServices FAILED
:fabbutton:prepareComAndroidSupportAppcompatV72220Library UP-TO-DATE

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:processMockDebugGoogleServices'.

    File google-services.json is missing from module root folder. The Google Services Plugin cannot function without it.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.288 secs

Enable page turning using Switch device or earbud jack switch.

My name is [...] and I'm currently doing some research on switch-accessible apps! A switch is a device that someone can use to flip between pages of an eBook, or scroll through a PDF. Switches are usually used by disabled individuals that have trouble moving their hands to swipe between screens or hit buttons.
I was wondering if your app was accessible to these kinds of devices? I'm mostly asking about bluetooth switches, but am also curious about switches that connect via earbud jack and USB ports,

Please make the setup instruction clearer

Please use screen shots to explain from step 3 to step 5 am completely lost help please, i really want to work on this project but setting it up is hell frustrating. Is making me feel like a novice programmer even though i have been writing android code for 2 years now.

issus with build android studio 3.0

Information:Gradle tasks [:app:generateMockDebugSources, :app:generateMockDebugAndroidTestSources, :app:mockableAndroidJar, :fabbutton:generateDebugSources, :fabbutton:generateDebugAndroidTestSources, :fabbutton:mockableAndroidJar]

Error:Execution failed for task ':app:processMockDebugGoogleServices'.

No matching client found for package name 'org.bookdash.android.qa'

Factors Behind Updating Third-Party Libraries in Mobile Apps

Hello Bookdash developers,

I'm a master student studying third-party libraries update behavior, and trying to build a tool that can help app developers with 3rd party libraries update. The tool should provides insights to developers about libraries in their apps, hence, developers can make better decisions when updating those libraries. The following survey study factors that motivate the update decision.

Please participate in our survey it should only take 4~8 minutes. Your contribution is very important, the answers are anonymously collected.

Survey Link
https://forms.office.com/r/mNp2tcYe7D

Thank you for your time and feedback

Read Me

Can u please explain in detail the procedure to upload books to firebase and all the changes required in the firebaseConfig class file to be recorded to have a running app. Please provide proper information at Point 3 at SETUP section. At present Fake Book keeps loading again and again ;)

Readme Change

I added a brief description to the readme about the organization

How to import database rules and storage rules into Firebase ?

Hi,

Thank you for works. I am pretty new in firebase platform.

"
The database rules and storage rules can also be imported into Firebase.
"

I find that the previous rules will be removed when I try to import the database or storage rules. What should I do ?

Can you make a short video guide ?

Regards,
Js

StorageException: StorageException has occurred.

Getting

StorageException: StorageException has occurred.
User does not have permission to access this object.
Code: -13021 HttpResult: 403

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
 allow read, write: if request.auth != null;
    }
  }
}

Only working with Public access:
allow read, write;

How to setup Public Read access & authenticated Write access?

Change the font back to Roboto

From Julia -

Return the plainer, sans serif font that you used in previous versions. The reason being that children are mostly using the app and it's been shown that clean, simple fonts really help their reading and character recognition when they first start their literacy journey. We want to make the app as kid-friendly as possible, so I think we should stick to what the experts tell us!

Readme.md

Pls update readme.md file with required changes
Because alot of things are missing in it
Or may be we r not understanding it properly
Thanks

Build fails

I downloaded the project (zip) and opened the project main folder with Android Studio 2.0 Beta 2 (I think).

Would like to be able to build and "step through/debug" things to learn from it.

After quite a while, it gave this error message:

Error:Execution failed for task ':app:processMockDebugGoogleServices'.

File google-services.json is missing from module root folder. The Google Services Plugin cannot function without it.


On the Gradle Sync tab were these messages. Note that I have all the project source at the E drive location listed. I believe I have all Android Studio settings correctly configured.


Source folders generated at incorrect location
Warning:Folder E:\Downloads\Android Development\BookdashAndroidApp-master\app\build\data-binding-info\mock\debug
Warning:Folder E:\Downloads\Android Development\BookdashAndroidApp-master\app\build\data-binding-info\androidTest\mock\debug
Information:3rd-party Gradle plug-ins may be the cause

Minor bug in NavigationDrawer

Steps to reproduce:

  1. Go to any Activity
  2. Select Contributors option from the NavigationDrawer
  3. Close the dialog box
  4. The Contributors option remains selected even though user is in another Activity.

App crashes after the splash screen on the Nexus 9

This may also be happening on the Pixel-C, had a crash after the first run, but I got it to work after restarting it.

With the Nexus 9 (with all current updates applied), if you have a fresh install of the application, you can make it through the intro splash screens, but then the app exits. Had a look through the log files and didn't see anything that sticks out during the crash even with a fresh build of the app.

We have tested it on the Nexus 10, Nexus 7 (2013), Nexus 7(2012), and a Sinotec 7inch (wifi only) tablet along with the nexus 4-6p phones with no problem....guessing that it might be due to a native library and the chipset of the 9 but will need to dig.

Last releases lack APK file

Just asking: Do you no longer publish releases/ here at GH? The last one listed is 1.0.13 – but the last one on Playstore already 1.0.17?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.