Make interesting books for your kids, usint text and images from simple.wikipedia.org

Related tags

Kotlin babybook
Overview

Baby Book Builder

Liberapay receiving

Baby Book Builder is an Android app and a website for creating books to help your growing child learn.

Contributing

Donations

Baby Book Builder is an open source, GPLv3 application. It will always be freely available via F-Droid, or for anyone to build, fork, or improve via the source code.

If you wish to support the development financially, you can do so via:

Reporting Issues

Please report any issues or suggest features on the issue tracker.

Submitting changes

Pull requests will be warmly received at https://github.com/babydots/babybook.

Compiling

This app uses a typical gradle folder structure and is written in Kotlin.

  • To build the Android app (a debug version): gradle assembleDebug
  • To build the web app: ...

Alternatively, you can import the project into Android Studio and build from there.

Comments
  • Multilingual Wiki and Picture Choice

    Multilingual Wiki and Picture Choice

    Great App. Thanks. It would be nice to choose the wiki e.g. .de. com. .es. .. and as well to choose from different photos in case there are multiple in the page. Thanks and Greetings

    opened by ghost 3
  • App crash if upload.wikimedia.org is unreachable

    App crash if upload.wikimedia.org is unreachable

    https://github.com/babydots/babybook/commit/a1580206ad38c25db2bd06d4bc2fc3673218e5e8 selfbuilt

    FATAL EXCEPTION: main
    Process: com.serwylo.babybook, PID: 32702
    io.ktor.network.sockets.ConnectTimeoutException: Connect timeout has expired [url=https://upload.wikimedia.org/wikipedia/commons/xxxx/xxxx/xxxxx.jpg, connect_timeout=unknown ms]
    	at io.ktor.client.features.HttpTimeoutKt.ConnectTimeoutException(HttpTimeout.kt:183)
    	at io.ktor.client.features.HttpTimeoutKt.ConnectTimeoutException$default(HttpTimeout.kt:180)
    	at io.ktor.client.engine.cio.Endpoint.getTimeoutException(Endpoint.kt:240)
    	at io.ktor.client.engine.cio.Endpoint.connect(Endpoint.kt:232)
    	at io.ktor.client.engine.cio.Endpoint.access$connect(Endpoint.kt:28)
    	at io.ktor.client.engine.cio.Endpoint$connect$1.invokeSuspend(Unknown Source:15)
    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    	at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
    	at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
    
    opened by licaon-kter 2
  • Update README.md

    Update README.md

    Hi,

    This small PR adds a button to get your app on F-Droid. You can later add a button for Google Play the same way : [<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="80">]()

    opened by Poussinou 1
  • Swipe (or tap) to change pages + bump for release v0.8.0

    Swipe (or tap) to change pages + bump for release v0.8.0

    Configurable via the settings menu.

    Also added paper background image for when images are loading or when there is not enough books/pages to fill the screen.

    opened by pserwylo 0
  • Recommend pages to be added

    Recommend pages to be added

    If I'm creating a book about the solar system, I'll probably start by Adding "Mercury", and then "Venus". After adding these two, there should be some links between these pages which indicate that there are other related pages ("Earth", "Mars", etc). We should investigate whether it is practical to offer suggestions to users, so that after typing "Mercury" and "Venus", they are then shown a list of suggested pages that includes other plannets.

    It should then also work for vegetables, mammals, insects, animals, cities, countries, plants, etc, etc, etc.

    My first thought is this could be done viacategory overlap. Here is an example using the solar system book:

    Based on this, we could do the following:

    opened by pserwylo 0
  • Optionally filter all images for a different style

    Optionally filter all images for a different style

    There are many good tools for image processing, to produce cartoon style graphics from a source image (e.g. https://towardsdatascience.com/using-opencv-to-catoonize-an-image-1211473941b6). By doing so, we not only have the option of making our books adopt unique styles (e.g. hand drawn, colourful, etc), but also unify the style of all images. Right now images are all from different authors, cameras, styles and the resulting books can reflect this randomness.

    opened by pserwylo 0
  • Download higher quality images

    Download higher quality images

    Images currently download from Wikimedia Commons as a 1024px wide version. This was to ensure that the initial books provided with the app did not add too much to the filesize of the app itself.

    However, for custom books, we want people to have the best experience possible, and so they should be able to get access to higher quality images. This should not make the editing process any slower though, so we should initially just download a low res thumbnail while first adding the page, and then in the background we should fetch a higher quality version of the image to save to disk.

    opened by pserwylo 0
  • Support translations

    Support translations

    Right now, this app is hard coded to English and so can't be added to https://hosted.weblate.org/ or other such services for community translation contributions.

    Now that the UI is settling down, all strings should be externalised into strings.xml so that translations can be contributed by the community.

    opened by pserwylo 0
  • Image and text attribution in books

    Image and text attribution in books

    All generated books need to include attribution for text.

    Simple Wikipedia pages all include this text in the footer of each page:

    Text is available under the Creative Commons Attribution/Share-Alike License and the GFDL; additional terms may apply. See Terms of Use for details.

    Images all come from Wikimedia Commons, and each is licensed individually. However most are CC BY-SA 3.0. I believe the metadata can be obtained via an API.

    All attribution should:

    • Recorded in the corresponding WikiImage database table (for images)
    • Recorded in the corresponding WikiPage database table (for text)
    • Shown in the generated PDF (perhaps in a final page which summarises all attribution for the entire book).
    • Added as a menu item when viewing the book.
    opened by pserwylo 1
Releases(v0.9.0)
  • v0.9.0(May 20, 2022)

    Put your books in full screen, and prevent baby fingers from leaving the app and accidentally ordering pizza to be delivered to your house.

    When enabled:

    • App goes full screen (no top toolbar shown)
    • Back/Home buttons in Android do not work unless the magical incantation specified by your OS is pressed.
    • Phone can be unlocked using the native unlock mechanism provided by your phone, or by tapping the unlock button on screen several times in succession.

    Limitations:

    • Will remain in the one book. Might be nice to allow babies to explore al of their books in the safety of baby mode.
    Source code(tar.gz)
    Source code(zip)
    com.serwylo.babybook_10.apk(18.28 MB)
  • v0.8.0(May 14, 2022)

    From the settings, choose whether you want to turn book pages via:

    • Swiping
    • Touching the edge of the pages

    Volume buttons still work as expected.

    In the future, this could perhaps be enhanced to allow you to select more than one mechanism, but didn't offer that right now because the "Touching the edge of the pages" prevents the "Swiping" from working due to the large buttons overlayed on the page.

    Source code(tar.gz)
    Source code(zip)
    com.serwylo.babybook_9.apk(18.27 MB)
  • v0.7.0(Mar 23, 2022)

  • v0.6.0(Mar 18, 2022)

  • v0.5.0(Mar 4, 2022)

  • v0.4.0(Feb 22, 2022)

    Add warning regarding Wikipedia content:

    This app is intended for adults to produce books for kids, or kids to make books under the supervision of adults.

    Making books means searching Wikipedia. If you don't let your child search Wikipedia, you shouldn't let them make books unsupervised (but they can READ books :)

    Source code(tar.gz)
    Source code(zip)
    com.serwylo.babybook_5.apk(16.83 MB)
  • v0.3.0(Feb 20, 2022)

    Attribution:

    • View the Wikipedia (text) and Commons (images) licenses from the book menu.
    • License info is fetched automatically when producing a book.
    • Limitation: Doesn't apply to existing books. Future work will attribute built in books.

    Bugfix:

    • Don't show images twice when selecting new images.

    Please provide any feedback or report any issues on the issue tracker at https://github.com/babydots/babybook/issues. Donate to support further development.

    Source code(tar.gz)
    Source code(zip)
    com.serwylo.babybook_4.apk(16.82 MB)
  • v0.2.1(Feb 17, 2022)

    Improvements:

    • Better fonts.
    • More sensible icons for changing pages.

    Bugfix:

    • When editing a page with no image, show text in correct position.

    Please provide any feedback or report any issues on the issue tracker at https://github.com/babydots/babybook/issues. Donate to support further development.

    Source code(tar.gz)
    Source code(zip)
    com.serwylo.babybook_3.apk(13.88 KB)
  • v0.2.0(Feb 13, 2022)

  • debug-build(Jan 26, 2022)

Owner
Baby Apps
Baby Apps
GBooks - A simple android app written in Kotlin to read books from the Google Book Api

G-Books A simple android app written in Kotlin to read books from the Google Boo

Google Developer Student Clubs - Baba Banda Singh Bahadur Engineering College 10 Nov 7, 2022
Astha Nayak 4 Oct 10, 2022
A simple and easy adapter for RecyclerView. You don't have to make adapters and view holders anymore. Slush will help you.

한국어 No more boilerplate adapters and view holders. Slush will make using RecyclerView easy and fast. The goal of this project is to make RecyclerView,

SeungHyun 26 Sep 13, 2022
Make a cool intro for your Android app.

AppIntro AppIntro is an Android Library that helps you build a cool carousel intro for your App. AppIntro has support for requesting permissions and h

AppIntro Team 10.3k Jan 2, 2023
🏞 A simple android app to show random images with Lorem Picsum API.

LoremPicsum A simple android app to show random images with Lorem Picsum API. Used skills Android Multi-Module RecyclerView MVVM with AAC ViewModel &

Haenala Shin 2 Feb 25, 2022
An android app built using Kotlin that consumes Pixabay API to display images and their details.

AdanianAndroidTest An android app built using Kotlin that consumes Pixabay API to display images and their details. It has been built following Clean

Joel Kanyi 6 Jul 12, 2022
Kotlin DALL·E 2 is a new AI system that can create realistic images and art from a description in natural language.

OpenAI Dall•E AI Kotlin Mobile App OpenAI Dall•E Application Build With Kotlin MVVM (Model - View - ViewModel) Clean Architecture, Beautiful Design UI

Murat ÖZTÜRK 15 Jan 1, 2023
🔥🖼 Display images stored in Cloud Storage for Firebase using Coil

firecoil firecoil allows you to load images from Cloud Storage for Firebase in your Android app (through a StorageReference) , using the image loading

Rosário Pereira Fernandes 35 Oct 4, 2022
Fetch random dog images

RandomDogImages Show Random Dog Images Demo application built in 100% Kotlin and implementing some Jetpack Components. This app was developed for as a

ValentineRutto 5 Dec 7, 2022
WallPaperApplication - An android wallpaper app which displays images

WallPaperApp App description An android wallpaper App which displayes free image

Srihitha Tadiparthi 3 Aug 8, 2022
ZoomHelper will make any view to be zoomable just like Instagram pinch-to-zoom

ZoomHelper ZoomHelper will make any view to be zoomable just like the Instagram pinch-to-zoom. ?? Installation ZoomHelper is available in the JCenter,

AmirHosseinAghajari 238 Dec 25, 2022
Android Library to make SharedPreferences usage easier.

KotlinPreferences Kotlin Android Library, that makes preference usage simple and fun. KotlinPreferences now have a brother. With KotlinPreferences, yo

Marcin Moskała 50 Nov 6, 2022
A collection of small utility functions to make it easier to deal with some otherwise nullable APIs on Android.

requireKTX requireKTX is a collection of small utility functions to make it easier to deal with some otherwise nullable APIs on Android, using the sam

Márton Braun 82 Oct 1, 2022
A small DSL to make building a conversation in Bukkit easy.

Konversation Konversation provides a simple builder to construct chains of prompts to be used in the conversation API present in Bukkit. Bukkit only p

Tim Hagemann 2 Dec 4, 2022
Kstr is a set of helpful methods library for Kotlin intended for make the developer life easier.

Kstr is a set of helpful methods library for Kotlin intended for make the developer life easier. Kstr uses the powerful feature of extension func

Rafael Acioly 0 Nov 3, 2021
Elixir is a library designed to make minecraft login easier.

Elixir Elixir is a library designed to make minecraft login easier. Usage We have a maven repo for this project. repositories { maven { url = "htt

null 4 Aug 11, 2022
A somewhat copy past of Jetbrain's code from the kotlin plugin repo to make it humanly possible to test Intellij IDEA kotlin plugins that work on kotlin

A somewhat copy past of Jetbrain's code from the kotlin plugin repo to make it humanly possible to test Intellij IDEA kotlin plugins that work on kotlin

common sense OSS 0 Jan 20, 2022
Joker-App - List application tha make requests to a Chuck Norris Api

Joker App About • Technologies • Features • Author • License ?? About the Projec

Miguel S. da Silva 1 Feb 4, 2022