Skip to content

Commit 3135bf1

Browse files
committed
Update README file and add CONTRIBUTING and CODEOWNERS files
1 parent f3c2af3 commit 3135bf1

File tree

8 files changed

+114
-28
lines changed

8 files changed

+114
-28
lines changed

CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @MostafaGazar

CONTRIBUTING.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
How to Contribute
2+
-----------------
3+
We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.
4+
5+
Getting Started
6+
---------------
7+
We use [gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) so instead of a single `master` branch, we use two branches to record the history of the project. The `master` branch stores the official release history, and the `develop` branch serves as an integration branch for features. It's also convenient to tag all commits in the master branch with a version number.
8+
9+
Workflow
10+
--------
11+
If you would like to contribute to this project, please:
12+
- Pick an [issue](https://github.com/SoftwareEngineeringDaily/software-engineering-daily-android/issues) to work on or create a [proposal](https://github.com/SoftwareEngineeringDaily/software-engineering-daily-android#feature-proposals) for a new feature.
13+
- Fork this project.
14+
- Create your feature branch based off the `develop` branch.
15+
- Create a pull request to get your worked reviewed and merged back into the upstream `develop` branch.
16+
17+
Please include screenshots of your app changes and write down the test scenarios you followed to verify that your code works.
18+
19+
Feature proposals
20+
-----------------
21+
Please create an issue, label it as a `feature proposal` and follow the following template:
22+
```markdown
23+
# Proposal: [your title here]
24+
25+
## Summary
26+
{Also include any designs or wireframes here}
27+
28+
## Rationale
29+
{First reason for why we should consider this proposal}
30+
{Second reason for why we should consider this proposal}
31+
{etc}
32+
33+
## Scope
34+
35+
## Important Notes
36+
37+
## Open Questions
38+
```
39+
40+
How to get unstuck
41+
------------------
42+
We have an active Slack community that you can reach out to for more information or just to chat with anyone. Check out the [<img src="https://upload.wikimedia.org/wikipedia/commons/7/76/Slack_Icon.png" alt="Slack Channel" width="15px"/> SED Android app development](https://softwaredaily.slack.com/app_redirect?channel=sed_app_android) slack channel.
43+
44+
Also checkout the [Open Source Guide](https://softwareengineeringdaily.github.io/).
45+
46+
Code reviews
47+
------------
48+
All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more information on using pull requests.
49+
50+
Community Guidelines
51+
--------------------
52+
- Be considerate, kind, constructive, and helpful.
53+
- Do not engage in demeaning, discriminatory, harassing, or hateful speech, and imagery.

README.md

Lines changed: 60 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,80 @@
1+
# SEDaily-Android
12

23
[![logo](https://i.imgur.com/3OtP3p8.png)](https://softwareengineeringdaily.com/)
34

4-
[![Build Status](https://travis-ci.org/SoftwareEngineeringDaily/SEDaily-Android.svg?branch=develop)](https://travis-ci.org/SoftwareEngineeringDaily/SEDaily-Android)
5-
[![codecov](https://codecov.io/gh/SoftwareEngineeringDaily/SEDaily-Android/branch/develop/graph/badge.svg)](https://codecov.io/gh/SoftwareEngineeringDaily/SEDaily-Android)
6-
[![codebeat badge](https://codebeat.co/badges/a5d6976a-9163-491b-8618-0673b703529a)](https://codebeat.co/projects/github-com-softwareengineeringdaily-sedaily-android-develop)
7-
[![Help Contribute to Open Source](https://www.codetriage.com/softwareengineeringdaily/sedaily-android/badges/users.svg)](https://www.codetriage.com/softwareengineeringdaily/sedaily-android)
5+
A player for the Software Engineering Daily Podcast
86

9-
# SEDaily-Android
7+
Getting Started
8+
---------------
9+
The app has 2 build types: debug and release with minor differences between both builds. [`Stetho`](http://facebook.github.io/stetho/) for example is only enabled for debug builds. And [`Timber`](https://github.com/JakeWharton/timber) to log warnings and errors as Crashlytics non-fatal crashes in release builds.
1010

11-
A player for the Software Engineering Daily Podcast
11+
We also use different app icons for debug and release builds and you can keep both builds on your device and run them side by side.
12+
![](screenshots/debug-release-icons.png)
1213

13-
## Getting Started
14+
The app is 100% [Kotlin](http://kotlinlang.org) and we think it is better to keep it this way.
1415

15-
### Cloning the Project
16+
We use [`Koin`](https://insert-koin.io) which is a lightweight dependency injection framework to manage all dependencies. And [`Kotlin Coroutines`](https://kotlinlang.org/docs/reference/coroutines-overview.html) for asynchronous work. We also use `Kotlin Coroutines` with [`Room`](https://developer.android.com/topic/libraries/architecture/room) and [`Retrofit`](https://square.github.io/retrofit/).
17+
18+
Cloning the Project
19+
-------------------
1620
```sh
1721
$ git clone https://github.com/SoftwareEngineeringDaily/SEDaily-Android.git
1822
$ cd SEDaily-Android
1923
```
2024

21-
### Setting up Firebase
22-
1. Go to the [Firebase website](https://firebase.google.com/) and create an account if you do not already have one
23-
2. Create a new project on the Firebase dashboard
24-
3. Add a new Android app in the Firebase Dashboard.
25-
4. Set the package name to `com.koalatea.thehollidayinn.softwareengineeringdaily.debug`
26-
5. Download `google-services.json` and place it in `/app/`
27-
28-
29-
Compile the project with Gradle using
25+
And then compile the project with Gradle using
3026
```sh
3127
./gradlew build
3228
```
3329

30+
Screenshots
31+
-----------
32+
![](screenshots/1.png)
33+
![](screenshots/2.png)
34+
![](screenshots/3.png)
35+
![](screenshots/4.png)
3436

35-
## Built With
37+
Libraries Used
38+
--------------
39+
* [Foundation][0] - Components for core system capabilities, and Kotlin extensions.
40+
* [AppCompat][1] - Degrade gracefully on older versions of Android.
41+
* [Android KTX][2] - Write more concise, idiomatic Kotlin code and helper functions for easy integration with coroutines.
42+
* [exoplayer][6] to manage the media playback.
43+
* [Architecture][10] - A collection of libraries that help design robust, testable, and maintainable apps.
44+
* [Lifecycles][12] - Create a UI that automatically responds to lifecycle events.
45+
* [LiveData][13] - Build data objects that notify views when the underlying data changes.
46+
* [Navigation][14] - Handle everything needed for in-app navigation.
47+
* [Room][16] - Access app's SQLite database with in-app objects and compile-time checks.
48+
* [ViewModel][17] - Store UI-related data that isn't destroyed on app rotations.
49+
* Third party
50+
* [Glide][90] for image loading.
51+
* [Epoxy][3] for building complex screens in a RecyclerView.
52+
* [Koin][4] a lightweight dependency injection framework to manage all dependencies.
53+
* [Retrofit][5] a type-safe HTTP client for Android and Java.
54+
* [Timber][7] to log warnings and errors as Crashlytics non-fatal crashes in release builds.
55+
* [Kotlin Coroutines][91] for managing background threads with simplified code and reducing needs for callbacks.
3656

37-
* [Android](https://www.android.com/)
38-
* [Gradle](https://gradle.org/)
39-
* [Firebase](https://firebase.google.com/)
40-
* [Material UI Chip Input](https://github.com/TeamWertarbyte/material-ui-chip-input)
41-
* [ReactiveX](http://reactivex.io/)
42-
* [Leak Canary](https://github.com/square/leakcanary)
43-
* [OkHttp](https://github.com/square/okhttp)
44-
* [Retrofit](https://github.com/square/retrofit)
57+
[0]: https://developer.android.com/jetpack/components
58+
[1]: https://developer.android.com/topic/libraries/support-library/packages#v7-appcompat
59+
[2]: https://developer.android.com/kotlin/ktx
60+
[3]: https://github.com/airbnb/epoxy
61+
[4]: https://insert-koin.io
62+
[5]: https://square.github.io/retrofit/
63+
[6]: https://exoplayer.dev
64+
[7]: https://github.com/JakeWharton/timber
65+
[10]: https://developer.android.com/jetpack/arch/
66+
[12]: https://developer.android.com/topic/libraries/architecture/lifecycle
67+
[13]: https://developer.android.com/topic/libraries/architecture/livedata
68+
[14]: https://developer.android.com/topic/libraries/architecture/navigation/
69+
[16]: https://developer.android.com/topic/libraries/architecture/room
70+
[17]: https://developer.android.com/topic/libraries/architecture/viewmodel
71+
[90]: https://bumptech.github.io/glide/
72+
[91]: https://kotlinlang.org/docs/reference/coroutines-overview.html
4573

46-
## Contributing
74+
Upcoming features
75+
-----------------
76+
Interested in seeing a particular feature implemented in this app? Please open a new [issue](https://github.com/SoftwareEngineeringDaily/software-engineering-daily-android/issues) with a [feature proposal](https://github.com/SoftwareEngineeringDaily/software-engineering-daily-android#feature-proposals).
4777

48-
## License
78+
Contributing
79+
------------
80+
Checkout [CONTRIBUTING.md](https://github.com/SoftwareEngineeringDaily/software-engineering-daily-android/CONTRIBUTING.md) for details.

screenshots/1.png

167 KB
Loading

screenshots/2.png

182 KB
Loading

screenshots/3.png

134 KB
Loading

screenshots/4.png

55.9 KB
Loading

screenshots/debug-release-icons.png

93.6 KB
Loading

0 commit comments

Comments
 (0)