{"id":13614038,"url":"https://github.com/forem/DEV-Android","last_synced_at":"2025-04-13T18:31:57.374Z","repository":{"id":38291625,"uuid":"138357951","full_name":"forem/DEV-Android","owner":"forem","description":"DEV Community Android App","archived":false,"fork":false,"pushed_at":"2023-11-15T19:38:22.000Z","size":676,"stargazers_count":422,"open_issues_count":13,"forks_count":101,"subscribers_count":28,"default_branch":"main","last_synced_at":"2025-04-04T19:09:47.866Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/forem.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2018-06-23T00:02:07.000Z","updated_at":"2025-03-17T19:36:07.000Z","dependencies_parsed_at":"2024-07-07T00:47:53.531Z","dependency_job_id":null,"html_url":"https://github.com/forem/DEV-Android","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forem%2FDEV-Android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forem%2FDEV-Android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forem%2FDEV-Android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forem%2FDEV-Android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/forem","download_url":"https://codeload.github.com/forem/DEV-Android/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248760435,"owners_count":21157358,"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","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-08-01T20:00:56.102Z","updated_at":"2025-04-13T18:31:56.791Z","avatar_url":"https://github.com/forem.png","language":"Kotlin","readme":"# DEV Android 💝\n\u003ca href=\"https://codeclimate.com/github/thepracticaldev/DEV-Android/maintainability\"\u003e\u003cimg src=\"https://api.codeclimate.com/v1/badges/ad31b8a267a37475e14c/maintainability\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://codeclimate.com/github/thepracticaldev/DEV-Android/test_coverage\"\u003e\u003cimg src=\"https://api.codeclimate.com/v1/badges/ad31b8a267a37475e14c/test_coverage\" /\u003e\u003c/a\u003e\n\nThis is the official repository for the [dev.to](https://dev.to/)'s Android app.\n\n\u003ca href='https://play.google.com/store/apps/details?id=to.dev.dev_android\u0026pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'\u003e\u003cimg width=150px alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png'/\u003e\u003c/a\u003e\n\n\n## Design ethos\n\nDEV Android is an [WebView](https://developer.android.com/guide/webapps/webview) based application. This application is inspired by [Basecamp's approach](https://m.signalvnoise.com/basecamp-3-for-ios-hybrid-architecture-afc071589c25). We will grow to include more native code over time.\n\nBy leveraging webviews as much as possible, we can smoothly sync up with our web dev work. And where it makes sense, we can re-implement certain things fully native, or build entirely native features. Life's a journey, not a destination.\n\n## Contributions\n\nWe expect contributors to abide by our underlying [code of conduct](./CODE_OF_CONDUCT.md). All conversations and discussions on GitHub (issues, pull requests) and across dev.to must be respectful and harassment-free.\n\n### System Requirements\n\nYou will need to have Android Studio 3.5 or up installed.\n\n### Usage\n\n```bash\n$ ./gradlew tasks --group=custom\n\n------------------------------------------------------------\nTasks runnable from root project\n------------------------------------------------------------\n\nCustom tasks\n------------\nandroidTest - Run android instrumentation tests\nhello - Hello World task - useful to solve build problems\ninstall - Build and install the app\ntest - Run the unit tests\n\nTo see all tasks and more detail, run gradlew tasks --all\n\nTo see more detail about a task, run gradlew help --task \u003ctask\u003e\n\n```\n\n### Push Notifications\n\nFor Push Notification delivery we use [Pusher Beams](https://pusher.com/beams). In order to get the app running locally you'll need a `google-services.json` configuration file from Firebase, otherwise you'll encounter the following error: `File google-services.json is missing. The Google Services Plugin cannot function without it.`\n\nYou can [sign up or sign in on Firebase](https://firebase.google.com/) account for free in order to get the app working locally. Steps 1-4 under **Firebase for Android Push Notifications** in our [official docs](https://docs.dev.to/backend/pusher/#mobile-push-notifications) show how to set this up in more detail. Drop the resulting `google-services.json` file in the `app` folder and you'll be good to go.\n\n### How to contribute\n\n1.  Fork the project \u0026 clone locally.\n1.  Create a branch, naming it either a feature or bug: `git checkout -b feature/that-new-feature` or `bug/fixing-that-bug`\n1.  Code and commit your changes. Bonus points if you write a [good commit message](https://chris.beams.io/posts/git-commit/): `git commit -m 'Add some feature'`\n1.  Push to the branch: `git push origin feature/that-new-feature`\n1.  Create a pull request for your branch 🎉\n\n## License\n\nThis program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Please see the [LICENSE](./LICENSE) file in our repository for the full text.\n\nLike many open source projects, we require that contributors provide us with a Contributor License Agreement (CLA). By submitting code to the DEV project, you are granting us a right to use that code under the terms of the CLA.\n\nOur version of the CLA was adapted from the Microsoft Contributor License Agreement, which they generously made available to the public domain under Creative Commons CC0 1.0 Universal.\n\nAny questions, please refer to our [license FAQ](https://docs.dev.to/licensing/) doc or email yo@dev.to\n\n\u003cbr/\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg\n    alt=\"sloan\"\n    width=250px\n    src=\"https://thepracticaldev.s3.amazonaws.com/uploads/user/profile_image/31047/af153cd6-9994-4a68-83f4-8ddf3e13f0bf.jpg\"\n  /\u003e\n  \u003cbr/\u003e\n  \u003cstrong\u003eHappy Coding\u003c/strong\u003e ❤️\n\u003c/p\u003e\n","funding_links":[],"categories":[":shamrock:  **Categories**"],"sub_categories":[":iphone: Communication"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforem%2FDEV-Android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforem%2FDEV-Android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforem%2FDEV-Android/lists"}