The Medito app is a 100% free meditation app built with flutter. The app is available on Android and iOS.

Last update: Jun 22, 2022

Medito App

Meditation can positively transform people's lives. We believe no one should have to pay for it.

We are the Medito Foundation, and we've built the Medito App for people who have never meditated before or want to deepen their meditation practice.

The app is free, forever: no ads, no spam, no need to sign up or pay.

Medito App is a flutter project available on Android and iOS maintained by the Medito Foundation and the community.

Install

GitHub release (latest SemVer)

Android iOS
Get it on Google Play
Download on the App Store

How to use this code

The best way to start is by opening the project with Android Studio or Visual Studio

You will need an API key to build the project.

To request one, join the #dev channel on slack and reply to the slackbot questions.

The API documentation is available on the wiki.

Need more details? Feel free to raise an issue.

Contributing

Pull requests are welcome. For significant changes, please open an issue first to discuss what you would like to change.

Don't feel like contributing to the code? Feature requests, feedback and suggestions are welcome. Reach us via Slack/email, or create a new issue.

About the Medito Foundation

We are a registered Dutch nonprofit

Medito Foundation (or in Dutch "Medito Stichting") 
KvK-nummer: 75284251
RSIN: 860222627 

License

  • App: GNU AFFERO GENERAL PUBLIC LICENSE
  • Our original content is licensed under a Creative Commons licence. For more information please refer to meditofoundation.org/license.
  • Sometimes we aggregate content from other sources that do not have the same license. This content is generally not published under "Medito". Make sure to respect the original copyright. Now that you know, we cannot be held responsible if you are miss-using this content. If you need more info, reach us on slack or by email.

Medito Foundation https://meditofoundation.org/

GitHub

https://github.com/meditohq/medito-app
Comments
  • 1. Player screen goes to completed state on tapping screen off

    Turning the screen off before starting a session makes the player screen lose its state

    To Reproduce Steps to reproduce the behavior:

    1. Go to a session and open the player
    2. Turn the screen off
    3. Turn it back on again
    4. The player looks like the session has completed

    Expected behavior The player looks like it does before the screen was turned off

    Devices Pixel 2 XL

    Additional context The MediaItem is being set to null somehow. (See lib/widgets/player/player_widget.dart 117 147 and 404)

    Reviewed by michaelcspeed at 2021-05-24 19:01
  • 2. Weird flickering when closing background sound bottom sheet

    1. Play a session
    2. Tap on the background sound icon
    3. Close the bottom sheet by dragging it down
    4. You will notice a weird flickering / ripple effect

    I think it's a default behaviour but it looks odd.. I don't know if we can just remove the effect so that it doesn't show?

    DEVICES Pixel 2 XL

    Reviewed by scouech at 2021-05-17 17:38
  • 3. Allow announcement main CTA to be empty

    On the announcement (showing at the top of the home screen), we should allow the main CTA ("button_label") to potentially be empty (empty or null).

    In this case, only Dismiss would show up in the announcement.

    Why? Sometimes we just want to give some info without necessarily have a main action to perform.

    Reviewed by scouech at 2021-06-10 06:34
  • 4. Remember last selected Voice

    When selecting a voice and starting a session, the app should remember your choice and the next time you open a session, if that narrator is available, the length options for that voice should be expanded.

    For example in this screen, the last selected voice would have been Morgan: Screenshot 2021-05-25 at 19 06 57

    Currently only the first narrator in the list is expanded See lib/network/session_options/session_options_bloc.dart line 164

    Reviewed by michaelcspeed at 2021-05-25 17:07
  • 5. App stops loading audio file after screen gets turned off

    Hi and thanks for your good app. Whenever I'm having an unguided meditation, after a certain time it stops downloading the audio file from internet. And when I unlock my phone after some time, it starts counting time from 10:00 (for a 10 min session) and I don't hear second bell sound. When I set a timer, at 10 minute mark phone starts ringing but apps gets shut down. I think this problem can be solved by keeping the screen on during the meditation.

    Keep up the good work.

    PS: I'm not sure that unguided meditations are audio files are not, but I'm certainly sure that they don't work on my Huawei Y7 Prime 2019.

    Reviewed by behradkhadem at 2021-04-29 12:00
  • 6. chore(ci): upload apk to github release

    Description

    • Add steps to build APK, upload to action artifact, and create a draft GH release note with the APK if the workflow is triggered by tags push event.
    • If you trigger the workflow manually, the APK is still built and uploaded to the workflow artifact but it doesn't create a GH release.
    • My tests:
      • https://github.com/qtdzz/medito-app/releases/tag/v2.0.23-test-do-not-use
      • https://github.com/qtdzz/medito-app/actions/runs/1043089957
      • How the badge in README looks like: https://github.com/qtdzz/medito-app/tree/github-apk#download-the-app (Note: it's showing the latest release as v2.0.21 because it is looking for the latest GH release, not the latest tag)

    Next steps

    • You will need to fill in the release certificate fingerprints as I mention in the VERIFY_APK.md, so that people can be sure that they are using legit APK. (I am not sure if it is the correct way to do so, please suggest if you have a better one)
    Reviewed by qtdzz at 2021-07-18 20:29
  • 7. Re-order downloads

    A few people have asked to have the option to re-order their downloaded sessions. We can have a simple drag and drop behaviour to allow re-ordering the list?

    I don't think we need to make it obvious...having it as an hidden feature is fine in my opinion. If you think it's better to indicate it somewhere, we could use the snackbar we are already using to indicate how to delete a downloaded session and tweak the message to mention the re-ordering..?

    Reviewed by scouech at 2021-05-24 14:07
  • 8. Slack link from README not working

    Slack link from README not working

    https://meditofoundation.slack.com/join/shared_invite/zt-f0viisyt-VdJ7ygqNHt9sIeGzZiatlQ#/shared-invite-legacy/erro

    Screenshot 2021-10-22 at 15 26 51
    Reviewed by shalom-aviv at 2021-10-22 12:27
  • 9. Padding missing on session option screen

    On the session option screen, if there is no description the padding should still be there below the image (see screenshot).

    Example: UCLA > Spanish > Any session there

    image

    Reviewed by scouech at 2021-08-18 08:29
  • 10. "Pick a narrator & duration" based on context

    When you open "timer" it says "pick a narrator and duration", but timer does not have a narrator. It should say "pick duration". That should be the case for any session with no narrator (none)

    Reviewed by scouech at 2021-08-05 10:12
  • 11. chore(ci): add fastlane beta github action workflow for Android

    Description

    First attempt to automate the Android release process using Fastlane and GH Actions. I mainly followed the instruction in https://flutter.dev/docs/deployment/cd and took example from Flutter Gallery project.

    Prerequisites

    This PR requires the following GH secrets to be able to work:

    • For creating auth.dart:
      • AUTH_BASE_URL : real value for production
      • AUTH_SENTRY_URL : real value for production
      • AUTH_CONTENT_TOKEN : real value for production
      • AUTH_INIT_TOKEN : real value for production
    • For signing Android app:
      • FCI_KEY_ALIAS: key alias
      • FCI_KEY_PASSWORD: key password
      • FCI_KEYSTORE_PASSWORD: keystore password
      • PLAY_STORE_UPLOAD_KEY: base64 encoded string of the keystore.jks file (It can be generated by base64 path/to/keystore.jks > output.txt). This string will be decoded in a GH action and written into android/app/upload-keystore.jks. upload-keystore.jks will be set as FCI_KEYSTORE_PATH.
      • PLAY_STORE_CONFIG_JSON: you can get this from developer console https://docs.fastlane.tools/getting-started/android/setup/#collect-your-google-credentials. This file is used in fastlane to upload the artifacts into play store

    How to trigger the workflow

    • The beta workflow will be triggered automatically on pushing tags event. The tags must be prefix with v, such as v2.0.17, v3.0.0. It will build the android app and upload to playstore
    • The promote_to_production needs to be triggered manually by inputting the lane name promote_to_production. It won't build the project but just take the latest version from beta track and promote to production track.
    • Similarly, production lane also need to be triggered manually by inputting the lane name production. It will build the appbundle and put to production track in playstore.
    • All three lanes are configured to create a draft release. You will eventually have to press the final button to release them. We can change it to a fully automated workflow when the process is mature enough.
    • Note: obviously, these triggers can be can to any desired behaviors. Please let me know if you want so.

    Related https://github.com/meditohq/medito-app/issues/55

    Reviewed by qtdzz at 2021-05-24 10:20
  • 12. Only one session playable until complete app restart - F-Droid

    Pretty much the title. After listening to the first welcome session, I could no longer listen to anything in the app—nothing plays. I had to completely close the app before anything would play, and then the issue happened again. The app seems great so far, but this bug makes it a bit unusable.

    Reviewed by N3WK1D at 2022-06-09 19:22
  • 13. Daily reminder to meditate

    It could be awesome to have a daily reminder notification in the app that suggests you to meditate. Better yet, integrate it with the quote inside the app so that Medito sends a notification like Time to meditate! + the daily quote.

    Reviewed by MakeGnomeWebFast at 2022-06-09 15:47
  • 14. [BUG] Slider position does not update its position

    Describe the bug When listening to a meditation session, the audio is playing, the seconds are updated, but the slider position is not adjusted.

    To Reproduce Steps to reproduce the behavior:

    1. Start a session, don't go anywhere
    2. Click on the slider to go to a position
    3. See that the slide does not move

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Smartphone (please complete the following information):

    • Device: Galaxy A5 2017
    • OS: Android 8
    • Version: 2.0.37 - Build Number: 20037

    Additional context Add any other context about the problem here.

    Reviewed by andrasferenczi at 2022-05-28 20:36
  • 15. Add backup functionality

    A way of backing up user progress for such a nice app like this is IMO an important feature - almost a deal breaker for me.

    Haven't seen any discussion about this after a quick search, please direct me to any discussion if it already has been taken place.

    Proposal: A simple file backup to local storage that either can be triggered manually or run automatically and save the last X backups together with a similar restore functionality.

    Reviewed by Granddave at 2022-04-20 15:20
  • 16. Continue where you left off

    one feature that I think would be super useful is adding a section that shows the current courses/packs you are working on. There is so much content (which is amazing) I sometimes try to remember which pack I am working through, so it takes me some time to find it and then continue.

    It would be great if you could add something like Netflix has such as a "Continue listening..." area where for example it shows you are partially complete the "30 day challenge" and you can tap on that to bring you quickly to the next one you haven't completed "Day 14" and other packs you have started working on without having to searc

    Reviewed by scouech at 2022-03-30 18:51

Related

Live portfolio designed using Flutter 2.0 available for android and web.
Live portfolio designed using Flutter 2.0 available for android and web.

DevFolio - Portfolio for Developers Designed live portfolio using Flutter 2.0. Available for Android and Web. ?? How to install? Before these steps ma

Jun 28, 2022
Flutter Advanced: Background Fetch | Run code in the background Android & iOS | Run code in the background Android & iOS

flutterbackground A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you starte

Mar 2, 2022
[WIP] A free and decentralized Uber-like service powered by NKN

nRide A free and decentralized Uber-like service powered by NKN For more information please visit our project website This project is intended as a su

Sep 29, 2021
An app to display Meals according to different Cusines alongwith various filters available
An app to display Meals according to different Cusines alongwith various filters available

An app to display Meals according to different Cusines alongwith various filters available

Mar 11, 2022
This is a project developed in flutter for displaying time of the available locations.
This is a project developed in flutter for displaying time of the available locations.

World Time This is a project developed in flutter for displaying time of the available locations. ## Getting Started This project is a starting point

Oct 15, 2021
The objective is to create a simple app using Dart/Flutter, for make a REST API integration with Flutter, using free JSON API
The objective is to create a simple app using Dart/Flutter, for make a REST API integration with Flutter, using free JSON API

ListView Builder App The objective is to create a simple app using Dart/Flutter, for make a REST API integration with Flutter, using free JSON API: ht

Mar 9, 2022
FREE FLUTTER QUIZ APP WITH GETX STATE-MANAGEMENT
FREE FLUTTER QUIZ APP WITH GETX STATE-MANAGEMENT

This is free code for a flutter quiz app. all you need is just set up firebase for this project. Home

Jun 19, 2022
CryptoCurrency Tracker for Android & iOS built with @flutter
CryptoCurrency Tracker for Android & iOS built with @flutter

The code is no longer maintained CryptoShadow www.hugoextrat.com CryptoCurrency Tracker for Android & iOS Built with flutter.io TODO CoinMarketCap API

Jun 29, 2022
Pet Shop is an e-commerce application for Android built with Flutter (iOS to come soon).
Pet Shop is an e-commerce application for Android built with Flutter (iOS to come soon).

Check out my latest project >> MOVING PICTURES Pet Shop is an e-commerce application for Android built with Flutter (iOS to come soon). The goal is to

Jun 24, 2022
Spyxpo Web to App Builder - a tool which is used to convert a website into an app for iOS, Android, Windows, macOS and Linux.
Spyxpo Web to App Builder - a tool which is used to convert a website into an app for iOS, Android, Windows, macOS and Linux.

Spyxpo Web to App Builder Convert any website into an iOS/Android app. This is a preview build for testing purposes major update coming soon. Supporte

Jun 16, 2022
This is a sample Flutter Weather Forecast App for Android and iOS.
This is a sample Flutter Weather Forecast App for Android and iOS.

Basic Flutter (Android + iOS) App (Dart + Dio) - Weather App This is a very beginning friendly project of Flutter. A simple weather forecast App using

Dec 30, 2021
11t is an iOS and Android app for connecting to Mastodon, written in Flutter. 11t lets you use any Mastodon instance.

README 11t is an iOS and Android app for connecting to Mastodon, written in Flutter. I connect to Mastodon on mastodon.social, but everyone can start

Apr 26, 2022
A simple flutter app for android and ios device
A simple flutter app for android and ios device

Flutter Login App This is a simple flutter app for android and ios device. In this Login App user sign_in using email id and password. And also user s

May 20, 2022
WeeChat Relay Client for iOS and Android

weechat Weechat Relay Client for iOS and Android Getting Started This project is a starting point for a Flutter application. A few resources to get yo

Dec 7, 2021
Cryptocurrency App with MVP Design Pattern to track all the coins data in realtime for android & iOS . Written in dart using Flutter SDK.
Cryptocurrency App with MVP Design Pattern to track all the coins data in realtime for android & iOS . Written in dart using Flutter SDK.

Flutter CryptoCurrency App (MVP) Cryptocurrency App with MVP design pattern to track all the coins data in realtime for android & iOS . Written in dar

Jun 23, 2022
iOS/Android Reddit app created with Flutter
iOS/Android Reddit app created with Flutter

iOS/Android Reddit app created with Flutter

Nov 25, 2021
[📱] This is an Android/iOS app for Nyan Anime written in Flutter

Nyan Anime (Flutter) Description This is an Android/iOS app for Nyan Anime written in Flutter. Stack Frameworks: Flutter CLI Commands Command Descript

Apr 12, 2022
A Tiktok App- Works on Android & iOS!
A Tiktok App- Works on Android & iOS!

TikTok Clone A Tiktok App- Works on Android & iOS! Features Authentication with Email & Password Uploading Videos with Caption Compressing Videos Gene

Jun 6, 2022
Flutter Advanced: PDF Viewer Tutorial Android & IOS | From URL & Asset | From URL & Asset

flutterpdfview A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started i

Jun 24, 2022