Giter Site home page Giter Site logo

heylinda / heylinda-app Goto Github PK

View Code? Open in Web Editor NEW
638.0 12.0 154.0 7.51 MB

The open source and free meditation app alternative for everyone. Built with React Native and Expo.

Home Page: https://heylinda.netlify.app

License: GNU Affero General Public License v3.0

TypeScript 99.69% JavaScript 0.28% Shell 0.04%
react-native react redux expo typescript hacktoberfest ios android meditation meditation-app

heylinda-app's Introduction

logo

Hey Linda

The open source and free meditation app alternative for everyone.
Built with React Native and Expo.

banner

Features

  • meditate
  • track progress
  • dark mode
  • current streak
  • calendar activity
  • time listened
  • offline support
  • manually enter meditation

Install

Install (dev)

To install the project, navigate to the directory and run:

  • yarn global add expo-cli
  • yarn install

Run

To run the project, run the following commands:

  • yarn android
  • yarn ios

Contribute

You can contribute to Hey Linda by beta testing, recording meditations, or submitting code.

See the contribution guide for more info.

Join Us On

Credits

Github Contributors

Thanks to these awesome contributors and many more! ๐Ÿง˜

Sponsors

Thank you to all our sponsors! ๐Ÿฅ‡

Deploys by Netlify

Backers

Thank you to all our backers! ๐Ÿ™

License

heylinda-app's People

Contributors

alexandrvicente avatar alinisarahmed avatar dependabot[bot] avatar emersonpinheiro avatar frubesss avatar kevan-y avatar lsmacedo avatar orama254 avatar pedpess avatar sarsharma avatar trentmercer avatar vvimjam avatar watadarkstar avatar williangaspar avatar yajanarao 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

heylinda-app's Issues

[Bug] Dark mode for splash screen

Steps to reproduce:

  1. Go to phone settings and change to dark mode
  2. Open the app (from a fully closed state)
  3. Notice how the splash screen doesn't have a dark background

Expected behaviour:

  • Background colour for splash screen should be Colors.gray900 #333333 in dark mode otherwise it should be white
  • Background colour for navigation bar should be Colors.gray975 #121212 in dark mode otherwise it should be white
  • Status bar should also be in dark mode and light mode depending on the phone settings

Actual behaviour:
Background colour for splash screen is white

Smartphone (please complete the following information):

  • Device/OS: iPhone simulator

Screenshots/Recording:
simulator_screenshot_E9618E07-279F-46EE-883A-51168A161BD7
simulator_screenshot_FABC20ED-69BD-4484-A9B6-225E1A55710C

Can i edit and publish on playstore

Hello can i edit, make changes in ui and add or remove some meditation and yoga exercises.
I want to publish this after editing on playstore.
So i need your approval for this.
Kindly tell me
And thanks for sharing

[Bug] - Manually submitting sessions doesn't update the stats properly

Before reporting:

  • The same bug wasn't already reported, i.e. it's not a duplicate (#58)
  • This bug is not reported due to an unstable environment

Steps to reproduce:

Scenario 1

  1. Go to the Stats screen.
  2. Select a day to manually insert minutes session.
  3. Submit 65 minutes.

Expected behaviour:
The 'Listened' stat should show '65 minutes' (or 1 hour and 5 minutes).

Actual behaviour:
'Listened' stat shows 5 minutes.

Scenario 2

  1. Go to the Stats screen.
  2. Select and submit 10 minutes on 6 different days.

Expected behaviour:
The 'Listened' stat should show '60 minutes' (or 1 hour).

Actual behaviour:
'Listened' stat shows 0 minutes.

Smartphone (please complete the following information):

  • Android Emulator - API 30

Screenshots/Recording:

Scenario 1
image
image

[Bug] Manual Entry does not update time listened

Steps to reproduce:

  1. Go the stats screen
  2. Click on a date in the calendar
  3. Manually enter a time in minutes meditated i.e. 22
  4. Click submit
  5. Notice how the time listened does not update to include the 22 minutes on the stats screen

Expected behaviour:

Time listened updates with manually entered time

Actual behaviour:

Time listened stat does not update and stays at zero or whatever time you already had.

Smartphone (please complete the following information):

  • Device/OS: iPhone 12 Simulator

Screenshots/Recording:
Screen Shot 2021-08-22 at 1 27 38 PM

simulator_screenshot_3BB076CD-F8AF-4680-8D57-5B3EABCD787D

simulator_screenshot_FC93E4C3-A3F6-4466-9881-FC679326A2D2

[Bug] Calendar background color does not update when Dark mode is toggled

Before reporting:

  • The same bug wasn't already reported, i.e. it's not a duplicate
  • This bug is not reported due to an unstable environment

Steps to reproduce:

  1. Start with Dark or Light mode in Android settings
  2. Note Calendar background color
  3. Switch to Light/Dark mode
  4. Calendar background color remains the same
  5. Restarting the app fixes the issue

Expected behaviour:

Should reflect the current theme like the rest of the app.

Actual behaviour:

Calendar background color is from the old theme.

Smartphone (please complete the following information):

  • Pixel 4 XL - Simulator - Android
  • API 30

Screenshots/Recording:
Settings - before
Calendar - before
Settings - after
App - after

Manual Activity Entry

Is your feature request related to a problem? Please describe.
I want to be able to manually enter meditations if I meditate with say YouTube that day

Describe the solution you'd like
On the stats screen, clicking a date on the calendar should bring up an Alert input that allows you to enter the amount of time you meditated in minutes. It should have 2 buttons, cancel and submit. Once submitted the activity should appear in the calendar.

Additional context

Domain has been hijacked

Before reporting:

  • The same bug wasn't already reported, i.e. it's not a duplicate
  • This bug is not reported due to an unstable environment

Steps to reproduce:

  1. Navigate to https://heylinda.app

Expected behaviour:

Site should render

Actual behaviour:

Redirected to adware

Smartphone (please complete the
following information):

Any (this is web-based)

Screenshots/Recording:

HeyLinda

HeyLindaHAR.txt

Improve dark mode for completed screen

Is your feature request related to a problem? Please describe.
The dark mode for the completed screen doesn't really exist and its kind of bright in my opinion.

Describe the solution you'd like
Not really sure what we should do here yet. Please suggest a solution before working on this feature.

Describe alternatives you've considered
I considered making the purple darker and the button not white. Leaving the text as white. Thoughts?

Additional context

simulator_screenshot_09FDC64D-394E-4C59-BCE6-B3F326AC31B9

Setup Cypress for Github Actions (web)

Now that we have the web version working after #98 got merged.

We can now get cypress tests working for web. To do so you may want to use the Netlify CI for HeyLinda. Let me know if you need that. The web version is hosted here for now.

You might want to read about how to do this here.

Manual Entry doesnt properly update Stats [Bug]

Before reporting:

  • The same bug wasn't already reported, i.e. it's not a duplicate
  • This bug is not reported due to an unstable environment

Steps to reproduce:

  1. Go to Stats
  2. Manual Entry on Calender
  3. Submit for a day say 18 Aug 23minutes
  4. Sumbit for 19Aug 50minutes..
  5. The total meditation time should sum upto 73minutes. but it decreases!! to 13minutes.

Expected behaviour:
The total meditation time should sum upto 73minutes. but it decreases!! to 13minutes.
Actual behaviour:

Smartphone (please complete the following information):

  • Device OS android Pie Pixel 3a
    Screenshots/Recording:
    image
    image
    image

Write unit tests

We are always interested in people writing more unit tests ๐Ÿ˜„

Here are some good and easy places to write unit tests:

  • useMsToTime.ts
  • useMsToMinutes.ts

Here are some good and easy places to write component tests:

  • LoadingScreen.tsx
  • Screen.tsx
  • Themed.tsx

But before writing any component tests I highly recommend we complete issue #43 and setup React Native Testing Library.

Upgrade react-navigation to v6

Please make sure to test the app on iOS and Android.

@react-navigation/bottom-tabs             5.11.2  5.11.2   6.0.7    dependencies    https://github.com/react-navigation/react-navigation#readme
@react-navigation/native                  5.8.10  5.8.10   6.0.4    dependencies    https://reactnavigation.org
@react-navigation/stack                   5.12.8  5.12.8   6.0.9    dependencies    https://reactnavigation.org/docs/stack-navigator/

[Bug] Hide the bottom tab navigator on Completed Screen

Before reporting:

  • The same bug wasn't already reported, i.e. it's not a duplicate
  • This bug is not reported due to an unstable environment

Steps to reproduce:

  1. Go to any meditation
  2. Complete the meditation
  3. See how the bottom tab navigator shows up

Expected behaviour:

No bottom tab navigator

Actual behaviour:

Bottom tab navigator shows up

Smartphone (please complete the following information):

  • Device/OS: iPhone Simulator (all devices)

Screenshots/Recording:

simulator_screenshot_807F5DE9-4C08-4924-9832-D7CA8E8E7DF9

Web support

We can use Expo for this, see:
https://github.com/heylinda/heylinda-app/blob/main/package.json#L7

We probably just need to host it somewhere and get it to work!

A user reported that it does not work, see:

TypeError: "exports" is read-only
../../../react-native-calendars/src/dateutils.js/<
node_modules/react-native-calendars/src/dateutils.js:157

  154 |   isLTE,
  155 |   isGTE,
  156 |   isDateNotInTheRange,
> 157 |   getWeekDates
  158 | };
  159 | 

Offline support

Support offline meditations. Figure out how meditations can be downloaded and cached on the device.

[Bug] Dark mode not detected - physical Android device

Before reporting:

  • The same bug wasn't already reported, i.e. it's not a duplicate
  • This bug is not reported due to an unstable environment

Steps to reproduce:

  1. Have a Huawei P30 Pro
  2. Toggle Dark mode on and off
  3. Note if the app detects dark mode

Expected behaviour:

Dark mode should be detected

Actual behaviour:

Dark mode not detected.

Smartphone (please complete the following information):

  • Huawei P30 Pro
  • Android version 10 - EMUI version 11.0.0

Screenshots/Recording:
App
Settings before
Settings after

App not starting on Pixel_3a_API_29. It crashes after building JS bundles.

Before reporting:

  • The same bug wasn't already reported, i.e. it's not a duplicate
  • This bug is not reported due to an unstable environment

Steps to reproduce:

Expected behaviour:

Actual behaviour:

Smartphone (please complete the following information):

  • Device/OS: [e.g. iPhone6/iOS8]
  • Version [e.g. 22]

Screenshots/Recording:

Extending the scope for Cognitive Behaviour Therapy

I just had this idea I wanted to share.
It seems like CBT is the kind of therapy (that has a predictive plan of action) that could be mimicked using common computation and improved using something like GPT-3 AI.
Maybe this app could try something like that.

That said, I would like to help develop this app since meditation played a huge role in the wellbeing of my life.

[Bug] Fix warning about deprecated Constants.installationId and Constants.platform.ios.model

Before reporting:

  • The same bug wasn't already reported, i.e. it's not a duplicate
  • This bug is not reported due to an unstable environment

Steps to reproduce:

  1. Open the app in iOS
  2. You will see 2 warnings about Constants.installationId and Constants.platform.ios.model

Expected behaviour:

No warnings.

Actual behaviour:

Get warnings about deprecated Constants.installationId and Constants.platform.ios.model

Smartphone (please complete the following information):

  • Device/OS: iOS
  • Version 12

Screenshots/Recording:

simulator_screenshot_388731FF-745C-42A1-8530-4FD31A75444E

You may have to do some upstream work in this library or do a patch-package:
betaacid/expo-analytics#79

Ability to favourite or save meditations

Is your feature request related to a problem? Please describe.
I want to be able to favourite meditations I like and easily access them.

Describe the solution you'd like

  • Add a favourite / save button
  • Add a new screen called Saved
  • Add a bottom tab called Saved to access the Saved screen where it would show all your Favourites
  • The saved screen should re-use styles and components from the home screen. It should look very similar to the home screen.
  • Maybe you can favourite to your own custom lists i.e. When you click Save it asks you if you want to save it to Favourites or create a new list or select another list

Describe alternatives you've considered

  • It could also be called "Save" instead of Favourites since it will have multiple lists
  • Open to other ideas

Additional context
Screen Shot 2021-08-04 at 1 30 20 PM

Record a new meditation

If you are a voice actor or want to gain experience, we would love to hear your meditation recordings! ๐Ÿง˜โ€โ™€๏ธ If approved your meditation recording will be part of our collection of meditations for everyone to listen to.

Please send us your meditation recordings via slack.

We do pay for meditations at a rate of $5+ per meditation (depending on quality).

Cache playback progress

When a meditation is played, the current timestamp of the audio should be cached or saved. That way, when resuming that meditation, the user will start the playback where they left off instead of at the beginning.

Meditation Complete Screen

It should have a:

  • Donate button
  • Skip button
  • Present the screen after the user finished the meditation

Setup Github actions

Setup Github actions. These actions should run the following:

  • Unit Tests
  • Lint
  • TypeScript

Add Google Analytics

Is your feature request related to a problem? Please describe.
We want to add Google Analytics to the app so we can track user behaviour and improve UX over time

Describe the solution you'd like

  • Add Google Analytics to Expo
  • We want to keep things simple to upgrade Expo so please do it in a way that doesn't require us to move away from the managed Expo solution
  • I will provide you with the Google Analytic's UA- or G- just send me a DM in slack

Additional context

Improve Dark Mode

  • Dark mode text for tiles should be white
  • Arrows for calendar should also be white

simulator_screenshot_CC4242CA-E0F0-4E79-BFD5-D1AE2C6E5799
simulator_screenshot_89FF3D1A-A2C9-4744-9D55-4F0DE0C4137B
simulator_screenshot_634B7DA3-3364-4609-BAD6-4B5461A896AA

Local Push Notification Reminder

Is your feature request related to a problem? Please describe.
I want to be able to set a local push notification reminder to meditate daily or on specific days of the week

Describe the solution you'd like

  • Add a Set Daily Reminder list item to the settings screen
  • Clicking the list item should open a modal
  • show a "time of day" selector
  • show a frequency selector:
    • allow daily and or specific days of the week selection
    • if there's a library that makes it easy, great!
    • if the library allows for simple patterns for selecting specific days they want to be reminded, great!
  • daily reminder sends local push notification
  • push notification should say: "Practice your meditation today ๐Ÿง˜โ€โ™€๏ธ"

Additional context
Screenshots TBD

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.