{"id":16490667,"url":"https://github.com/odaridavid/diary","last_synced_at":"2025-09-13T15:55:23.872Z","repository":{"id":111292890,"uuid":"280650262","full_name":"odaridavid/Diary","owner":"odaridavid","description":"Diary App ,demo for Room ORM ,ALC 5 Android Session","archived":false,"fork":false,"pushed_at":"2020-07-25T17:54:21.000Z","size":1853,"stargazers_count":18,"open_issues_count":5,"forks_count":11,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-04-04T15:40:20.062Z","etag":null,"topics":["android","java","room-database","room-persistence-library"],"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/odaridavid.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":"2020-07-18T12:18:13.000Z","updated_at":"2025-03-20T09:56:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"9dded26c-5503-4629-8778-cbdc7391c593","html_url":"https://github.com/odaridavid/Diary","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/odaridavid/Diary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odaridavid%2FDiary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odaridavid%2FDiary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odaridavid%2FDiary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odaridavid%2FDiary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/odaridavid","download_url":"https://codeload.github.com/odaridavid/Diary/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odaridavid%2FDiary/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274988769,"owners_count":25386547,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"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":["android","java","room-database","room-persistence-library"],"created_at":"2024-10-11T13:48:38.269Z","updated_at":"2025-09-13T15:55:23.830Z","avatar_url":"https://github.com/odaridavid.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Diary App 📝\n\nThe Diary App helps you keep a record of your thoughts and notes.\nThis is possible using [Room](https://developer.android.com/topic/libraries/architecture/room) a \npersistence library and one of the architecture component libraries, it provides an abstraction over\nSQLite by acting as an [Object Relational Mapper](https://en.wikipedia.org/wiki/Object-relational_mapping) ,ORM.\n\n## Pre-Requisites ✔️\n\n- [ ] Knowledge on android basics.\n- [ ] Have Android Studio / IntelliJ.\n- [ ] Knowledge on git.\n- [ ] Foundational Knowledge on SQL.\n\n## How to get started 🏁\n\nThis repository contains several branches that build on each step we will take to build out the Diary \napp to handle Create,Read,Update and Delete Operations,CRUD.\n\nThe develop branch which is the main branch will have the starter code and the rest of the branches\nare steps towards building a complete app.\n\n\u003cimg src=\"art/branches_gh.png\" /\u003e\n\nTo start with the first step/session and subsequent sessions.\n\n1. Clone the Repository or Fork and Clone from your own repository,whichever you are comfortable with.\n2. Open Existing Project from Android Studio or Intellij and navigate to the cloned project and open it.\n3. If you use the terminal for git perform a ```git fetch``` and ```git branch``` to see available \nbranches and ```git checkout branch-name``` to the branch of interest to get started.\n4. If you use the IDE for git stuff,on the bottom right click on the git branch name \nand select the branch you are interested in and select the checkout option.See Images below\n\n\u003cimg src=\"art/bottom_right_ide.png\"/\u003e\n\n\u003cimg src=\"art/ide_branches.png\"/\u003e\n\n5. Also each step contains a ```TODO``` which you can follow.To see all available todos for the current\nstep you are in check for the TODO tab at the bottom of the IDE.\n\n\u003cimg src=\"art/todo_tab.png\"/\u003e\n\n\u003cimg src=\"https://media.giphy.com/media/l0DAHAQ3Ex4XbL1ni/giphy.gif\"/\u003e\n\n## Slides To Session\n\n[Room ORM | GADS 2020 | Workshop 2](https://speakerdeck.com/davidodari/room-orm-workshop-2-gads-2020)\n\n## Resources 🏫\n\n- [Object Relational Mapping](https://en.wikipedia.org/wiki/Object-relational_mapping)\n- [Room Persistence Library](https://developer.android.com/topic/libraries/architecture/room)\n- [Save Data in Local Database Using Room](https://developer.android.com/training/data-storage/room)\n- [Room Library Code Documentation](https://developer.android.com/reference/android/arch/persistence/room/package-summary)\n- [Room Release Notes](https://developer.android.com/jetpack/androidx/releases/room)\n- [Dependency Injection](https://www.freecodecamp.org/news/a-quick-intro-to-dependency-injection-what-it-is-and-when-to-use-it-7578c84fa88f/)\n\n## Screenshots 📱\n\n\u003cimg src=\"art/add.png\" width=\"200\"/\u003e \u003cimg src=\"art/details.png\" width=\"200\"/\u003e \u003cimg src=\"art/edit.png\" width=\"200\"/\u003e \u003cimg src=\"art/main.png\" width=\"200\"/\u003e \u003cimg src=\"art/main_full.png\" width=\"200\"/\u003e\n\n## License ⚖️\n\n```\n   Copyright 2020 David Odari\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n```\n\n## Contacts 📇\n\nIncase of anything feel free to reach me on \n\n- [Twitter](https://twitter.com/_davidodari)\n- [LinkedIn](https://www.linkedin.com/in/david-odari-155613111/)\n\n## Contributing 🤝\n\nFeel free to send in your pull request or file an issue if you notice something that doesn't seem right.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodaridavid%2Fdiary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fodaridavid%2Fdiary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodaridavid%2Fdiary/lists"}