Started with a react native boilerplate to save time and focus on the features. I used it before and I was familiar with it. It has a good structure and it's easy to add new features.
Used Victory Native for the charts. It has good documentation and it's easy to use. It has a lot of features, performant and easy to customize.
Used Moment.js for date formatting. It's the best library for date formatting.
Used Detox for E2E testing. It's a great library for E2E testing and it's easy to use.
Used Circular Progress Indicator to display the sleep score. Saw something similar on Eight Sleep and wanted to replicate it.
Improvements
Fetch the data from an API.
Adding detailed tests for both the UI and the logic.
Installation
Clone the repository git clone https://github.com/hknakn/SleepApp.git