Skip to content

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

License

Notifications You must be signed in to change notification settings

meditohq/medito-app

Repository files navigation

About Medito

About

Meditation can positively transform people's lives, and 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 its community.

Download

NOTE: If you install the Medito app using the APK file, please make sure to verify that the APK file is signed by Medito Foundation. See VERIFY_APK for more information.

How to Contribute

We are a small team and are looking for people who can contribute to the project 2 to 3 hours per week. You must have experience with Flutter.

To contribute, please message us on our Telegram channel. You can access it by joining https://t.me/meditoapp and then going to "Discussion." Let us know that you are looking to contribute to the code, specify for how many hours per week, and how many years of experience with Flutter you have. Also, please include a link to your GitHub profile or portfolio.

How to Build the Project

You will not be able to run the project without the necessary keys. Please message us on Telegram first to request access to these keys. We use external libraries that require specific keys, and we will need to chat with you directly to provide these.

Setup

  1. Clone the repository:

    git clone https://github.com/meditohq/medito-app.git
    cd medito-app
    
  2. Install dependencies:

    flutter pub get
    
  3. Set up environment files:

    • Create .env.staging and .env.production files in the root directory.
    • Contact a team member for the contents of these files.
  4. Set up Firebase:

    • You need google-services.json (for Android) and GoogleService-Info.plist (for iOS) from the Firebase console.
    • You also need the /lib/firebase_options.dart file.
    • Contact a team member for the contents of these files.

Generating Code

To generate Pigeon code. This is required to communicate with native iOS and Android code.

flutter pub run pigeon --input pigeon_conf.dart

To generate API and state management code with Riverpod:

dart run build_runner watch --delete-conflicting-outputs

Development and Production Configurations

This project supports separate development and production configurations. Here's how to set up and use them in different IDEs:

Visual Studio Code

  1. Open the project in VSCode.
  2. Go to the Run and Debug view (Ctrl+Shift+D or Cmd+Shift+D on macOS).
  3. In the dropdown at the top of the sidebar, you can choose between:
    • "Flutter (Dev)" for development configuration
    • "Flutter (Prod)" for production configuration
  4. Click the play button or press F5 to start debugging with the selected configuration.

Android Studio

  1. Open the project in Android Studio.
  2. In the toolbar, you'll see a dropdown next to the run button.
  3. Select either "Flutter (Dev)" or "Flutter (Prod)" from this dropdown.
  4. Click the run button or press Shift+F10 to run the selected configuration.

Configuration Details

  • Development configuration:

    • Entry point: lib/main_dev.dart
    • Flavor: dev
  • Production configuration:

    • Entry point: lib/main_prod.dart
    • Flavor: prod

Temporary solution for iOS:

  • Entry point: lib/main.dart

These configurations are defined in:

  • .vscode/launch.json for VSCode
  • .run/Flutter_Dev.run.xml and .run/Flutter_Prod.run.xml for Android Studio

Ensure that your android/app/build.gradle file has the corresponding flavor configurations set up correctly.

License

  • App: GNU AFFERO GENERAL PUBLIC LICENSE.
  • Our original content is licensed under a Creative Commons license. 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.

Medito Foundation: https://meditofoundation.org/.