Skip to content

forem/DEV-Android

Repository files navigation

DEV Android 💝

This is the official repository for the dev.to's Android app.

Get it on Google Play

Design ethos

DEV Android is an WebView based application. This application is inspired by Basecamp's approach. We will grow to include more native code over time.

By 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.

Contributions

We expect contributors to abide by our underlying code of conduct. All conversations and discussions on GitHub (issues, pull requests) and across dev.to must be respectful and harassment-free.

System Requirements

You will need to have Android Studio 3.5 or up installed.

Usage

$ ./gradlew tasks --group=custom

------------------------------------------------------------
Tasks runnable from root project
------------------------------------------------------------

Custom tasks
------------
androidTest - Run android instrumentation tests
hello - Hello World task - useful to solve build problems
install - Build and install the app
test - Run the unit tests

To see all tasks and more detail, run gradlew tasks --all

To see more detail about a task, run gradlew help --task <task>

Push Notifications

For Push Notification delivery we use Pusher 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.

You can sign up or sign in on Firebase account for free in order to get the app working locally. Steps 1-4 under Firebase for Android Push Notifications in our official docs 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.

How to contribute

  1. Fork the project & clone locally.
  2. Create a branch, naming it either a feature or bug: git checkout -b feature/that-new-feature or bug/fixing-that-bug
  3. Code and commit your changes. Bonus points if you write a good commit message: git commit -m 'Add some feature'
  4. Push to the branch: git push origin feature/that-new-feature
  5. Create a pull request for your branch 🎉

License

This 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 file in our repository for the full text.

Like 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.

Our 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.

Any questions, please refer to our license FAQ doc or email [email protected]


sloan
Happy Coding ❤️