{"id":21006241,"url":"https://github.com/derlin/mybooks-android-old","last_synced_at":"2026-06-17T21:32:08.740Z","repository":{"id":151664384,"uuid":"58265587","full_name":"derlin/mybooks-android-old","owner":"derlin","description":"An application to keep track of the books I read. The serialized form (json) is saved to Dropbox. DEPRECATED! See https://github.com/derlin/mybooks-android.","archived":false,"fork":false,"pushed_at":"2017-10-21T11:05:40.000Z","size":11935,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-05T01:04:19.026Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/derlin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-07T12:44:33.000Z","updated_at":"2024-06-22T02:46:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"e49360a3-49d0-42bb-97c3-f403a4646e0c","html_url":"https://github.com/derlin/mybooks-android-old","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/derlin/mybooks-android-old","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derlin%2Fmybooks-android-old","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derlin%2Fmybooks-android-old/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derlin%2Fmybooks-android-old/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derlin%2Fmybooks-android-old/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/derlin","download_url":"https://codeload.github.com/derlin/mybooks-android-old/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derlin%2Fmybooks-android-old/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34466928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T08:50:03.591Z","updated_at":"2026-06-17T21:32:08.724Z","avatar_url":"https://github.com/derlin.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mybooks-android\nAn application to keep track of the books I read. The serialized form (json) is saved to Dropbox.\n\n# The why\n\nIt's been a while that I promised myself I would keep track of the books I read. \nUnable to prevent myself from losing papers and notes, I spent some time testing the online services, but I didn't find what I looked for, i.e.:\n\n- *simple*: just store the book title, author and possibly some notes about it,\n- *no validation*: if I want to add an obscure title which is not in the public databases, let me do it (example: the \nbook my best friend wrote but never published)\n- *private*: keep the list private,\n- *exportable*: easily retrieve a list of the books in a common format like json, csv, etc.,\n- *free*: I won't pay for it,\n- *language agnostic*: as long as the charaters are part of the ASCII set,\n- *nice*: it is not because it is free that it must be ugly.\n\nMaybe it was too much to ask... Anyway, until I find the perfect one, I decided I would use my own.\n\n# The what\n\n**MyBooks** project is divided into two tools: \n\n1) a **command line interface** written in go to quickly edit my list,\n2) an **Android application** to let me maintain my list on the go.\n\n\n# data format \nIn order for the data to be easily accessible, even without any tool, the data are saved to Dropbox in a `json file` properly indented.  It is possible to edit it with any text editor. The only important point is to respect the basic structure: \n\n```\n{\n  \"1984\": {\n    \"author\": \"Georges Orwell\",\n    \"date\": \"long ago\",\n    \"notes\": \"my favorite book\",\n    \"title\": \"1984\"\n  },\n  \"1q84 livre 1\": {\n    \"author\": \"Haruki Murakami\",\n    \"date\": \"janvier 2016\",\n    \"notes\": \"vachement déçue. \",\n    \"title\": \"1Q84 (livre 1)\"\n  }\n }\n```\n\nA book has a `title`, an `author`, and optional `date` and `notes`. The books are kept in a `map`, the keys being the normalized title of the book. The *normalization* of the title follows those simple steps:\n\n1. title to lowercase;\n2. replace every accented character by its unaccented counterpart (éè -\u003e e, etc)\n3. replace non letter/number character by spaces\n4. replace multiple spaces by one;\n5. trim.\n\n# Application\n\nThe Android application uses the *Dropbox core API V2* to read/write the file. On start, the file is read and loaded in memory, then each change is directly written to Dropbox. It is compatible with tablets/wide screen devices.\n\n# TODO\n\n-  handle dropbox errors properly\n- what should be done if no internet connection is available ?\n- feature: automatic detection of extern file changes ? (vs sync button)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderlin%2Fmybooks-android-old","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fderlin%2Fmybooks-android-old","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderlin%2Fmybooks-android-old/lists"}