Branch | Build Status | Unit tests coverage |
---|---|---|
Master | ||
Develop |
Toast App is supporting Android developers meetup in Poland - Toast, which takes place in Wrocław.
This app allows you to keep up to date with the latest events info like speakers descriptions, lectures topics or previous events photo galleries. Additionally, user may contact us via contact form.
- Events and lectures info
- Event photo gallery
- Speakers list and details
- Contact form
- Notifications about new content
- Local notifications to remind about incoming event
- If you found a bug or have a feature request - open an issue.
- If you want to contribute - submit a pull request.
- Android 5.0+
- Android Studio 3+
- Kotlin 1.2.30
- Download repo
$ git clone https://github.com/DroidsOnRoids/Toast-App.git
- Run the app
The app is using the MVVM architecture with Android Architecture Components and databinding
There are 3 topics for notifications: new event, new photos, new talk.
Notification template for a new event:
{
"message": {
"android": {
"data": {
"event_id": "EVENT_ID"
},
"notification": {
"click_action": "pl.droidsonroids.toast.event",
"title_loc_key": "new_event_title",
"body_loc_key": "new_event_description",
"body_loc_args": ["EVENT_TITLE"]
}
},
"topic": "new_event"
}
}
Notification template for a new photos:
{
"message": {
"android": {
"data": {
"event_id": "EVENT_ID"
},
"notification": {
"click_action": "pl.droidsonroids.toast.event",
"title_loc_key": "new_photos_title",
"body_loc_key": "new_photos_description",
"body_loc_args": ["EVENT_TITLE"]
}
},
"topic": "new_photos"
}
}
Notification template for a new talk:
{
"message": {
"android": {
"data": {
"event_id": "EVENT_ID"
},
"notification": {
"click_action": "pl.droidsonroids.toast.event",
"title_loc_key": "new_talk_title",
"title_loc_args": ["EVENT_TITLE"],
"body_loc_key": "new_talk_description",
"body_loc_args": ["AUTHOR_NAME", "TALK_TITLE"]
}
},
"topic": "new_talk"
}
}
The app is using remote config for API URL changes.
There are two keys for each flavor. I.e. for toast flavor: toastBaseUrl
and toastImageUrl
.
Value cache time is set to 1 day. Keep it in mind when you're changing config from Firebase console.
Mocking server responses sample in UI test using MockWebServer path dispatcher -> HERE
Toast App is licensed under Apache License 2.0. See LICENSE for details.
Toast App is maintained by Droids On Roids. For more details visit our website.
Check out our other open source projects and our blog.