Official Android app for Scala Days

Overview

Build Status

Scala Days for Android

The official Scala Days App for Android handcrafted by 47 Degrees. You can download Scala Days from Google Play

Scala on Android

This application is written entirely in Scala on Android. We are excited to make the application open source and share the code with you. We have used the macroid library extensively in this project.

Compile

You can compile this project and contribute improvements. To compile the project:

  • Download SBT and install it
  • Download Android SDK (you only need the command line tools) and set ANDROID_HOME environment variable pointing to the root folder.
  • Clone this GitHub project to your computer
  • From project root directory run:
$ sbt -mem 2048
  • Connect your phone and execute:
> run

You can use your favorite IDE. At 47 Degrees we use IntelliJ with the Scala plugin. If you want to run this project from IntelliJ you only need to import the project.

Add Debug Keys

You need to add a debug.properties file to the root project with the necessary keys to compile. The content should be:

google.map.key=***
localytics.key=***
google.project.number=***
google.analytics.key=***
twitter.app.key=***
twitter.app.secret=***
twitter.app.callback.host=***
crashlytics.apikey=***
crashlytics.apisecret=***

If you do not want to utilize the Crashlytics service, you should create an environment variable CRASHLYTICS_ENABLED=false

Contribute

You can contribute to this application and we will do our best to upload your changes to Google Play

License

Copyright (C) 2015 47 Degrees, LLC http://47deg.com [email protected]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Comments
  • Schedule icon and Refresh Social

    Schedule icon and Refresh Social

    This ticket covers:

    • Add pull to refresh to Social: you can get new tweets from social screen
    • Schedule icon in the navigation bar: new icon in Schedule for go to event quickly
    • SBT Idea plugin added

    @fedefernandez can you please review? Thanks!

    opened by javipacheco 4
  • Fatal Exception: java.lang.NoSuchMethodError android.view.View.setBackground

    Fatal Exception: java.lang.NoSuchMethodError android.view.View.setBackground

    Error in Google Play developer console and Crashlytics when calling setBackground on Android SDK < 16. See error details: http://crashes.to/s/3a7d4514ab1

    bug 
    opened by justinelsberry 3
  • New version

    New version

    This PR contains a new version for Google Play and I've fixed the problem related to SwipeRefreshLayout

    @jorgegalindocruces can you confirm me that all is ok for the new version?

    @fedefernandez can you review please the code? thanks!

    opened by javipacheco 2
  • Add Track names to each talk in the schedule list.

    Add Track names to each talk in the schedule list.

    As demonstrated in person today, and cleaned up a bit ;)

    Thanks for the pro environment setup tips! Let's get this submitted to the Play Store in time to be useful for Wednesday (provided everything looks good of course.)

    opened by aphexcx 2
  • Upgrade version and README changes

    Upgrade version and README changes

    I have resolved dependencies in SBT and I have added a new section in README

    @juanpedromoreno can you please review the SBT changes?

    @justinelsberry can you please review the README changes?

    Thanks!

    opened by javipacheco 2
  • Failed when downloading com.localytics.android#library;5.5.0!library.aar

    Failed when downloading com.localytics.android#library;5.5.0!library.aar

    sbt shows the following warning message when downloading the dependencies of the project:

    [warn] 	::::::::::::::::::::::::::::::::::::::::::::::
    [warn] 	::              FAILED DOWNLOADS            ::
    [warn] 	:: ^ see resolution messages for details  ^ ::
    [warn] 	::::::::::::::::::::::::::::::::::::::::::::::
    [warn] 	:: com.localytics.android#library;5.5.0!library.aar
    [warn] 	::::::::::::::::::::::::::::::::::::::::::::::
    sbt.ResolveException: download failed: com.localytics.android#library;5.5.0!library.aar
    
    opened by franciscodr 1
  • Schedule

    Schedule

    Value statement:

    The Schedule feature is the homepage of the Scala Days application. Users should be able to use the schedule feature to keep track of talks at a conference event.

    Gerkins:

    • [ ] When I open the app, I should see a rendered schedule for a single conference event, a hamburger menu for navigation, and an icon to the left.
    • [ ] When the schedule is rendered, I should see that every timeslot will have a room, title of the talk, speaker name, avi, and username (provided in json data)
    • [ ] When I click on a session or talk, I should see:
      • Title of the talk
      • FAB allowing the user to add to Favorites
      • An calendar icon with the date and time
      • Room
      • Talk description
      • Speakers section with names, avi, and links
    • [ ] When I am on a session page and I click the Speaker's avi, I should see that I am taken to their twitter profile page.
    • [ ] When I click on the hamburger menu, I should see the following options:
      • Schedule
      • Social
      • Speakers
      • Tickets
      • Contacts
      • Sponsors
      • Places
      • About
    • [ ] When I click on the right icon, I should see a modal pop up with the following options:
      • All
      • Favorites
    • [ ] When I click Favorites and I have no favorites saved, I should see a screen that says there are no favorites and instructions to add favorite sessions.
    • [ ] When I click Favorites and I do have favorites saved, I should see the list render only my favorite sessions. These sessions should have a red checkmark to the left.
    • [ ] When I am on a session page and I add a session to my favorites, I should see:
      • the FAB icon indicate the session has been added
      • That the session renders a checkmark in the top left of the time slot, either in All or Favorites
    epic schedule 
    opened by ahinchman1 1
  • New section: Notifications

    New section: Notifications

    We need to add a new section. For a particular conference, apart from Schedule, Social, Contacts, Tickets, Sponsors, Places, Speakers and About, we want to add Notifications, where needs to show the timeline of notifications submitted to this conference.

    The backend app is exposing this endpoint:

    GET https://scaladays-backend.herokuapp.com/notifications?conferenceId=<conference-Id>

    and returns the list of emitted messages list this:

    {
       "conferenceId":2019,
       "notifications":[
          {
             "timestamp":"2019-07-08T18:40:25.842Z",
             "title":"test2",
             "message":"test",
             "iosDelivered":true,
             "androidDelivered":true
          },
          {
             "timestamp":"2019-07-08T20:15:41.393Z",
             "title":"test",
             "message":"test",
             "iosDelivered":true,
             "androidDelivered":true
          },
          {
             "timestamp":"2019-07-09T21:56:30.485Z",
             "title":"Rafa 02",
             "message":"Text send from the UI form",
             "iosDelivered":true,
             "androidDelivered":true
          }
       ]
    }
    

    Notes:

    • Since we implemented a retry policy in the backend, the Android app should filter by those whose value for androidDelivered is true.
    • When the user taps on any of the push notifications, should be redirected to the new Notifications section.
    • Debugging push notifications:
      • You can use the form to deliver notifications
      • Currently, the android audience whose id=128964 (version 2.5.0) will receive the push notification.
    opened by rafaparadela 1
  • OkHttpClient

    OkHttpClient

    This PR use the OkHttpClient for API calls instead of the previous approach in order to integrate the new API votes

    @fedefernandez can you please review? thanks

    opened by javipacheco 1
  • Schedule Changes

    Schedule Changes

    This PR fixes the follow problems:

    • Reload Schedule List fixed when add to Favorites
    • Favorites not persisted when changing conference locations for the first time
    • Added link to twitter account from speaker into the schedule detail
    • Added avatar to speakers to the schedule cell
    • Added MulltiDex for fix 65k methods

    @fedefernandez can you please review? Thanks!

    opened by javipacheco 1
  • Reload menu and QR

    Reload menu and QR

    This PR fixes several bugs:

    • The menu is reloaded when show conferences. It was possible that the list of conferences wasn't showed if the app wasn't "killed"
    • Fragments load the layouts using traits now
    • Fixes names when QR Codes scan
    • Background white for all app

    @fedefernandez @raulraja can you please review? thanks

    opened by javipacheco 1
Owner
47 Degrees Open Source
47 Degrees Open Source Initiatives
47 Degrees Open Source
A multiversion gradle scala plugin

WIP Work in Progress: Learning how to write a gradle plugin. A Scala multiversion plugin Inspired by: https://github.com/ADTRAN/gradle-scala-multivers

Ross Lawley 1 Dec 8, 2021
StarkNet SDK for JVM languages (java, kotlin, scala)

☕ starknet jvm ☕ StarkNet SDK for JVM languages: Java Kotlin Scala Clojure Groovy Table of contents Documentation Example usages Making synchronous re

Software Mansion 29 Dec 15, 2022
Mobile client for official Nextcloud News App written as Kotlin Multiplatform Project

Newsout Android and iOS mobile client for Nextcloud news App. The Android client is already available to download in the Play Store. F-Droid and Apple

Simon Schubert 118 Oct 3, 2022
The official repository of the opensource project MyHome

?? MyHome For the developers The Android "front-end" application The Springboot-Java "back-end" application Description MyHome is a management app for

Marvin 1 Nov 23, 2022
Spring Boot project scaffold written in Kotlin, which is based on the Official Guide.

Kotlin-Spring-Boot Spring Boot project scaffold written in Kotlin, which is based on the Official Guide. Development environment Windows choco install

idea2app 1 Feb 27, 2022
Tictactoe-android-app - Simple TicTacToe Android app written in Kotlin

TicTacToe Android App This is a simple example of TicTacToe game as Android app

Blaž Čerpnjak 1 Jul 9, 2022
To help to promote your android app by prompting users to rate your app in a bottom Sheet.

RateBottomSheet This an Android library to help to promote your Android App by prompting users to rate your app in the Google Play Store with a materi

Farham Hosseini 5 Jul 8, 2022
These files are included in an Android Studio Project for a Magic the Gathering Life Counter app. The app was written in Kotlin.

Magic-Life-Counter These files were created in Android Studio using Kotlin. Usage This app was made to keep track of life totals while playing the tra

null 0 Dec 24, 2021
Relationship-app-android - An app with features aimed towards me and my girlfriend

RelationshipApp Android An Android app with features aimed towards me and my gir

Rostislav Osvald 0 Jan 3, 2022
Android Note app that uses the "ktor-note-app" backend

KtorNoteApp Android Notes app that uses Ktor back end server Technologies employed: Kotlin MVVM Coroutines Custom REST API build with Ktor Responds to

Chris Athanas 2 Jul 25, 2022
This is a practice app. An app that you can find random recipes and choose the ones you like.

A food suggestion app like Tinder This is a practice app. In this app, you can find random recipes and choose the ones you like. This is main menu. Yo

Yunus Emre OCAK 4 May 25, 2022
New style for app design Online Sunglasses Shop App UI made in Jetpack Compose.😉😎

JetSunglassUI-Android New style for app design Online Sunglasses Shop App UI made in Jetpack Compose. ?? ?? (Navigation Components, Dagger-Hilt, Mater

Arvind Meshram 18 Dec 12, 2022
A sample skeleton backend app built using Spring Boot kotlin, Expedia Kotlin Graphql, Reactive Web that can be deployed to Google App Engine Flexible environmennt

spring-kotlin-gql-gae This is a sample skeleton of a backend app that was built using: Spring Boot(Kotlin) Reactive Web Sprinng Data R2DBC with MYSQL

Dario Mungoi 7 Sep 17, 2022
Explore-KiiT-App - An app to simplify the complicated website navigation and keep track of Attendance

KiiT Explore App "An app to simplify the complicated website navigation and keep

Ajay Khatri 17 Oct 12, 2022
App with plant list 🌱 , the app reminds you when to water 💦 your best plant at a certain time.

Plant Life App with plant list ?? , the app reminds you when to water ?? your best plant at a certain time.. Table of Contents Introduction Features U

Haya Saud Alrawdhan 0 Jan 6, 2022
Swarup 2 Feb 6, 2022