Giter Club home page Giter Club logo

dhbw-timetable-android's Introduction

DHBW-Timetable-android

This is an android app for a project from students of the DHBW Stuttgart.

About

DHBW-Timetable is a free tool to synchronize the timetable for DHBW students. It scans the rapla based dhbw timetable from e.g. https://rapla.dhbw-stuttgart.de/ and manages its content so that the data can be used in multiple ways.

Features

  • Beautiful view on day agenda and week summary
  • Be notified when calendar data changes
  • Get dynamically alarmed at a time you define before your first lecture starts
  • Offline available timetable

dhbw-timetable-android's People

Contributors

d-rickyy-b avatar hendriku avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dhbw-timetable-android's Issues

Different themes

As we discussed yesterday, here are my three designs for different themes:

1. Standard Theme

today conventional less color

2. Light Theme

today conventional

3. Dark Theme

today donut dark experiment copy

Secure alarm activity

If no activtiy is provided for an alarm activtiy, destroy attribute has to be set to true though this will cancel the alarm.

Week Fragment: Pick a Week

  • Maybe change the search icon to a calendar picker icon
  • implement functionality of date picker dialog and show
  • Display date in title

Fix the DOZE Issue

Android has it's super battery saving STAMINA/DOZE mode which summaryses every service into steps. As we have to trigger our alarms EXACT (and setExact won't do in DOZE) we have to either disable DOZE or find a workaround.

setAlarmClock could work for >=sdk21 and setExactAndAllowWhileIdle should work for >=sdk23

Feedback function for user tests

I think, there should be an easy and fast way for users to leave feedback while using the app.

My idea: A button on the landing page bottom, which prompts you to enter just one thing you would like to see on the landing page.

This would be most effective for our goal to have everything you need at one glance without displaying all the junk. What do you thing @hendriku ?

Reset functionality

Beim Reset Knopf die Einstellungen der App wieder auf Werkszustand zurücksetzen und die App neu starten.

TabView Gestures

The TabViews (e.g. Notifications) have to be swipeable for the users from left to right and vice versa.

Debugs with Log

Convert all System.out.println("X"); calls to Log.i/d/e/w("TAG", "X"); calls where X is the message and TAG a proper debug category and i d e w mean info debug error and warning.

Tone API

Beim Einstellen von Sounds sollte bei aktiver Lautstärke der Ton einmal kurz abgespielt werden, nachdem er ausgewählt wurde.

Approve user interface

The user interface has to be checked for short-term release. @MalteBartels Please have a look on the notification settings, preferences and general user interaction behaviour of the app.

Setting for standard view

In den settings sollte eingestellt werden können ob today oder week als standard view genommen wird

Asynchronous Sync

There might be the case that the background service triggers sync and the user also does. In this case the appointment data will be duplicate and therefore wrong.

Notifications settings constallation

It is possible to select the following varity of options:
On every day
No Banner
No Sound

This is not how 'notifications' are used to be. We should either make a default value or deny this constallation.

@MalteBartels What do you think?

Localization

String values extrahieren & prüfen. Dann in deutsch übersetzen.

Build fix

Fix .apk export for android app.
Fix "DHBW Timetable has stopped"

Refresh Gestures

Let's update the today fragment via wipe down gestures and show and indeterminate loader to show the sync process.

Tutorial

Bei Start Tutorial Again in den Settings eine Art kleines Tutorial durchlaufen lassen.

GitHub Page for information

Goal is to develop a basic PR website which will be available through QR code.

Content

  • Screenshots with related...
  • ...Features
  • Author and legal info ("about us" description)
  • Link to repository

SimpleDateFormats

new SimpleDateFormat("dd.MM.yyyy") should have a Locale.Germany and global constant object

Error message design

We have to create rules for error messaging. Currently there will be a mix of error messages understandable for the user and technical exceptions.

My suggestion:

Let's ALWAYS display an understandable error message to the user and provide an "MORE" button for technical details and bug resolving.

User reported this explicitly for mobile networking.

Complete redesign of Calendar Views

Using a calendar view for all information on such a small screen doesn't make sense. Let's rethink what a calendar should do and how to visualize it! (Wireframes will follow)

Branch for design sketches?

I hope to start soon with some designs sketches for the dark theme and mid-term improvements. Do you think it makes sense to create a branch to have them in one place? @hendriku

Android WatchFace

As a user suggested we should discuss the relevance and the capabilities of a watch app.

I think we definitely need more support for this, so let's ask some people if they think they would seriously need the watch app and if they could help us with that.

I could give support for the android building components and related software features but I really can't do the most of the watch work...

Unexpected crashes

We have some crashes on some of our test devices. "Unfortunately DHBW Timetable has stopped."
A user reported that the devices android 5.1.1 also reported same unexpected message on device boot up.
Some tests from android studios emulators could not really resolve this issue but reported two error messages without exceptions:

A/libc(4969): Fatal signal 11 (SIGSEGV) at ... code=1

and on boot up:

failed to make and chown /acct/uid_10058: Read-only file system

Android HomeScreen Widget

Let's think wether a HomeScreen Widget would make sense and if we have capabilities to implement one.

Alarms on reboot

We should make sure, that the alarms persist through reboot. Rescheduling on a reboot receiver may be the solution.

URL Erkennung

Momentan muss der timetable direkt als Key eingegeben werden. Es wäre benutzerfreundlich, wenn man einen link pasten könnte und dann das Programm den Key raus filtert

Design the alarm screen

For the beta, the alarm screen is perfeclty fine as it is now. For mid-term, I'd like to see something special and/or funny, maybe with memes?

Alpha Test

@MalteBartels Would you please check out and test the alarms and their features? It would be nice if we would make sure that we don't blame our-selfs with unnecessary bugs or failures.

Note: I decided to build the first beta commit in english so all the default values in code will be in this language. We can implement german language after the beta succeeded.

Onboarding experience

We should define how the first experience for the user has to be. It has to be error free and more intuitive than this:

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.