Giter Site home page Giter Site logo

letelete / sleep-cycle-alarm Goto Github PK

View Code? Open in Web Editor NEW
54.0 2.0 22.0 48.77 MB

This app helps managing your sleep habits, so you could wake up fully rested and rock your day! Sleep cycles matter.

License: GNU General Public License v3.0

Java 100.00%
android java realm butterknife eventbus

sleep-cycle-alarm's Introduction

sleep-cycle-alarm's People

Contributors

a06kin avatar hungvu193 avatar konstzv avatar letelete avatar minatekyo avatar nitinnatural avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sleep-cycle-alarm's Issues

Make FAB animatable

Floating (extended) action button should animate (popping out on screen for example) when the user opens the tab which contains it(or leave it) to make it more visible. Just exactly like in Google Pay.

Add swipe to refresh

Alarms recycler should have to get the possibility to refresh itself on user swipe

Wake-Up-At FAB BUG

FAB disappears at WakeUpAt tab after quickly switching between WakeUpAt and some other tab.

Create an empty list image, title and summary for WakeUpAt and Alarms tab

Empty list needs to be filled out with anything attractive to the user like image which tells about current list state and how to change it.

Just a few words for people interested in this task:

  • The final image must be an XML file, so the project file should be PSD/SVG to make it easy to convert to the XML path (you can use some online converter or just android studio one)
  • We are using TextViews (title and summary) and ImageView to represent that empty list hint to avoid text in the XML file which could affect the performance which means the image should not contain title and summary (TextViews are made for that [read Before you PR for more information])

Your task includes:

  • Creating an 'empty list' image for WakeUpAt and Alarms tab.
  • Inventing the title and the summary for it

Before you PR

  • The final result must be in the XML file.
  • To add the images, go to drawable
    • For WakeUpAt image:
      • Find and replace ic_wake_up_at_empty_list.xml
    • For Alarms image:
      • Add an XML file to the drawable directory as ic_alarms_empty_list.xml
      • In the layout directory, move to the hint_alarms_empty_list.xml and change an ImageView srcCompat attribute from app:srcCompat="@drawable/ic_wake_up_at_empty_list" to app:srcCompat="@drawable/ic_alarms_empty_list"
  • To add the title and summary just move to the strings.xml file and replace the strings from line 42 to line 45 with your ideas
  • In the preview folder, create a new one (call it empty-list or something similiar) and left your project files there (PSD/AI/EPS etc...)
  • That's it. Thank you for contributing :)

Some good examples

  1. Very simple but informative, clean

empty_example_1

  1. Simple, funny, friendly, action button included so the user can easily add new things from the current tab

empty_example_2

  1. Funny, informative, would be great if the action button could be included here, nice image, clean, friendly

44930371-62bec280-ad5e-11e8-8c02-e40eab806426

Change slide animation to fade

I've implemented slide in/out animation just because Google Pay has it. I would rather like to use fade because we are dealing with bottom navigation and not normal tabs

Logo Design For Sleep Cycle Alarm

Hi @letelete , I'm a graphic designer. I have reviewed your project. You don't have a logo and icon on your app. Therefore I want to contribute to your project by creating a logo/icon, it's free for you.

Best Regards,
Zularizal

Refactor unit test names

Since the unit-test naming convention has changed, every existing test method which name is inconsistent with new naming convention needs to be refactored.

New naming convention

Every single testable method has Its own class. It also has Its own directory which relates to the class that contains tested method. Because of that, we don't need to include the name of the method under tests.

That's why our old naming convention which looks like this:
methodName_StateUnderTest_ExpectedBehavior

Has been changed to this one:
Should_ExpectedBehavior_When_StateUnderTest

Obviously, when some of the tests need different naming convention there is no fear to use it, It's just a good practice (IMO) to add a comment with the naming convention that we are using in current class

Just like that:
test

Readme update

Update readme with better app present, description, documentation, how to contribute info etc...

Settings improvement

Settings layout needs to be changed.

Settings improvement in few steps:

  1. Fix left margin
  2. Split settings to sections exactly the same as Google Pay has it.
    40599010_303706757073287_4789796942097940480_n
  3. Decrease the margin between close button (X) with settings label and the top of the app screen
  4. Done.

Change app version

The app should not be in 1.0 version until it's not going to be done yet.

Make UI elements animatable

Overall:

We need on recyclerView element tap animation(or just highlight)

Wake Up At:

For now, we have some simple UI transformation from 'empty list state' (where only FAB and image in the background is displayed) to 'filled list state' where all of the 'wake up at' elements except image in the background are visible.

It would be great to add some animation/transformation between these 2 states to make it soft and satisfying.

Alarms tab:

We should do the same transition as at WakeUpAt tab between empty and filled list states

Dear Contributors

If you are interested in this task, please add a comment below with the solution idea/concept or just say what are you will be working on.

Add alarms manager

Alarms manager should be responsible for receiving data of tapped items from alarms lists (at sleep now tab and wake up at tab) and insert or update realm database with created Alarm.

I think we will need to refactor AlarmsPresenter a little bit and make it more flexible.

Passing Alarm to realm should be done in the background so the user don't need to switch to alarms tab to create a new alarm

Empty list animation / image or action

Empty list needs to be filled out with anything attractive to the user like image or animation which tells about current list state.

Alarms empty list proposal

Some animation/image + text like

Nothing to see here... Add some alarms and visit this tab again.

Funny/friendly informative messages are welcome.

Some good examples

  1. Very simple but informative, clean

empty_example_1

  1. Simple, funny, friendly, action button included so the user can easily add new things from the current tab

empty_example_2

  1. Simple, friendly, with action button (...), nice image

empty_example_3

  1. Very simple, everything explained in summary (very informative), action button (...), clean

empty_example_5

  1. Funny, informative, would be great if the action button could be included here, nice image, clean, friendly

![empty_example_6](https://user-images.githubusercontent.com/18665370/44930371-62bec280-ad5e-11e8-8c02-e40eab806426.png

Improve preferences (Settings) layout

Settings layout needs to be fixed by changing the left margin. It would be also great to add sections.

Settings improvement in few steps:

  1. Fix left margin
  2. Split settings to sections exactly the same as Google Pay has it.
    40599010_303706757073287_4789796942097940480_n
  3. Decrease the margin between close button (X) with settings label and the top of the app screen
  4. Done.

Add spotlights

Add spotlights to help the user understand the app processes such as a generated list of hours at "Wake up at" tab.

The user should be informed about specific actions that he can make done in an app such as setting up a new alarm by tapping on it, or information about list content when It becomes full of new hours.

For example:

  1. User set up a new hour when he wants to wake up at

  2. Show spotlight to list elements to inform him that theirs presents hours when he should go to sleep at to wake up fully rested exactly at a defined hour.

  3. User clicks "OK" button which means he understood that functionality, so the app doesn't need to show that again.

Found some really interesting library for this feature: https://github.com/TakuSemba/Spotlight

Logo

We need some logo.

New design

I just found this extremely well-designed app made by wendy while scrolling through the Pinterest, and instantly thought that we need something similar. Everything is so clear there and looks amazing. Just wow.

ok___8

Set hour dialog bug

Set hour dialog in wake up at has a static background colour. It's not centered too.

Abandoned?

Is this still being maintained? If not, the current version usable? (And could someone please provide build instructions - I'm not familiar with compiling apks straight from github)

iOS Port

I want to port this app to iOS.
Native Swift. Probably try and publish it too.

Let user customize content showing in lists.

The user should be able to customize lists content by select types of alarms that he is interested in. Selection could be placed in settings (sharedPreferences) fragment.

For example:

The user wants to get an information only about alarms which duration makes them healthy for him, so he opens up settings fragment and unselecting every option but healthy.

Proposal customization dialog:

Title: Alarms preferences

Option 1: Show unhealthy alarms {switch (default true)}
Option 2: Show optimal alarms {switch (default true)}
Option 3: Show healthy alarms {switch (default true)}
Option 4: Show not recommended alarms {switch (default true)}

Show information how to apply theme if this didn't apply

After theme changed some information dialog/toast should appear to inform the user that he can apply theme manually by killing a process if this didn't apply automatically. It happens often on Android Emulator when I'm playing with app.

In dialog case we could add some gif which presents how to kill an app manually

I'd like to contribute.

Hello, I'm Harry. I'd like to contribute to your project. I'm a content creator and copywriter. I see your project is still quite new. I could create a privacy policy document which gives details about how you deal with information collected by the software. That's if you do collect information when the software is utilized. If you don't it's still cool to let end users know also.

If you'd like this, I'd love to get a reply from you.

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.