Daily sleep tracker mobile app

user profile photouser profile photouser profile photo332 developers have joined this project.

What you will practice

This project will help you learn end-to-end mobile app development for Android or iOS. This includes UI and front end, REST API for backend, and databases. You will build an engaging sleep tracker app with data logging, reporting, and data visualizations.

Introduction

Irregular sleeping patterns are a common problem. This mobile app will fulfill the user's needs in tracking their sleeping patterns, including duration and timings. This app will track three parameters: sleep time, wake up time, and sleep duration. Users can add, edit, or remove any sleep entries.

Requirements

Front-end & UI Design

  • Splash Screen: When a user is not logged in, show the homepage with an introduction of the app and how it can help users track their sleep better.
  • Signup page: Use Google or Facebook libraries or implement your own authentication module.
  • Login page: a user should be able to login to the account using their signup method.
  • New user login: show an empty page with a floating action button at the bottom right. Once a user clicks this button, show a form page or popup containing:
    • Select date using date picker
    • Select time of sleep in hour and minutes
    • Select wake up time in hour and minutes
    • Automatically calculate total sleep duration
    • Include reset, cancel, and submit buttons
  • Old user logs in: show a list of entries and a floating chat for the last 7 days:
    • The list should include date, time of sleep, wake up time, and sleep duration
    • The floating chart should have the Y axis as the sleep duration with sleep start and end time and X axis as dates
    • Add a left and right arrow button beside the list and the table to allow users to check their sleeping stats for other weeks
    • Show a floating action button at bottom right

Back-end

  • All entries must be stored in persistent storage on the server where it can be fetched at any time. Use databases and Rest APIs to fetch the data.
  • Write backend APIs to read, write, and update entries.

The following image shows one way to implement the UI. Feel free to interpret the requirements however you'd like!
mockups
Extra challenge:  Add more visualization for weekly and monthly analysis

  • Average sleep duration for the week
  • Number of days the user slept less than 6 hours
  • Number of days the user slept more than 8 hours
  • Average sleep and wake up time

Suggested Implementation

References

References & Hints

Hit a programming wall?
Get help from our mentors

  • Post request free
  • First 15 mins free

Suggested languages and frameworks

JavaKotlinReact NativeSwift

Difficulty

medium

Contributed by

Software engineer at Microsoft with 6 years of experience

Interested in this project?

Shorten your learning curve with on-demand programming help

The awesome set of verified mentors will provide guidance and mentoring help when you are stuck.

Suresh Atta

  • Post request free
  • First 15 mins free
Shorten your learning curve with on-demand programming help

Browse more projects

More coming soon...