搜索插件、代码仓与 APP 分类

GitHub 代码仓ARYPROGRAMMER/Mindful-App

Mindful-App

Mindful 是一款旨在帮助用户管理压力和焦虑的心理健康应用。它采用先进的 AI 技术,提供个性化建议以及舒缓的音乐播放器以促进放松。该应用基于 Node.js、PostgreSQL 和 Firebase 构建,遵循清晰的架构原则,确保流畅且用户友好的体验。

Mindful-App 项目封面
星标
11
复刻
4
最近推送(UTC)
2025年4月11日
项目状态
未归档

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

IMPORTANT : Backend Services Working

Mindful-App

Build Status Version

Firebase License

AI USED : LLAMA-8B-8192, FACE EMOTION RECOGNITION MODEL, GEMINI/ANTHROPIC/MISTRAL SUPPORTED (API_KEY REQUIRED)

APP STATUS : ALL CORE FUNCTIONALITIES WORKING (Deployed NodeJs & Postgresql on Render)

What's New in v2.1.2 (Stable Release with Redis Phase 3 Integration)

        - **Improved AI Chat Functionality**
        - **Redis DS Change - HashMaps**
        - **Minor Bug fixes**
        - **Crash Handlers are improved**
        - **Improved Overall Performance - Implemented Impeller**
        - **Settings Tab is now Better**
        - **Redis connection fixes and data privacy improvised**
        - **Redis Cloud Implementation and Fetching in Beta Phase**
        - **Added Redis-base to support syncfusion**
        - **New Feature**: Implemented Syncfusion and Redis for low latency**
        
        ### Issues are being Resolved - Redis Full-Integration Phase 3

DEMO LINK OF WORKING

PRE-PRODUCTION INSIDERS

Blog Post on dev.to

Mindful

Mindful Logo

Personal Mental Wellness Companion

Table of Contents

Overview

In a world where stress and anxiety are increasingly common, Mindful serves as a sanctuary for mental health. This innovative application empowers users to enhance their well-being through personalized advice and relaxation techniques. By integrating advanced AI technology, Mindful provides tools to help users cultivate mindfulness and manage their mental health effectively.

Features

  • Personalized Advice: Experience tailored guidance powered by LLAMA-8B-8192 (previously : Gemini) (Since its free) an advanced AI fine tuned to understand your unique mental health needs. Use your API_KEY to integrate with Anthropic, OpenAI, and Mistral, enhancing the support provided. Code is already provided for them.

  • Relaxation Music Player: Immerse yourself in a curated selection of soothing tracks. The built-in music player is designed to help users unwind, recharge, and foster a peaceful environment for relaxation.

  • User-Friendly Interface: Navigate effortlessly through an intuitive design that makes accessing mental health resources easy and enjoyable.

  • Face Detection Model : Analyze your mood with your facial expressions, this can be further linked to different services.

App Screenshot 1 App Screenshot 2 Login / Register

Technologies Used

  • Backend:

    • Node.js: A powerful JavaScript runtime for building scalable network applications.
    • PostgreSQL: An advanced relational database for storing user data securely.
    • Firebase: A comprehensive platform for building web and mobile applications with real-time data syncing.
    • Tensorflow: To Create the FER Model using FER2013 Dataset.
  • Architecture:

    • Clean Architecture: Ensures the application is modular and maintainable.
    • SOLID Principles: Follows best practices for software development, promoting scalability and ease of testing.

Architecture

The Mindful app employs a clean architecture pattern, allowing for separation of concerns and enhancing maintainability. This design makes the app adaptable to future changes and ensures a robust user experience. By adhering to SOLID principles, Mindful promotes best practices that facilitate development and testing.

Key Architectural Decisions:
  • ModelView-ViewModel pattern to handle user requests and business logic.
  • Separation of concerns for better code management and maintainability.
  • Extensibility built-in so new AI features and wellness tools can be integrated smoothly in future updates.

To run Mindful locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/ARYPROGRAMMER/mindful.git
    cd server/mental-health-api/
    
  2. Install dependencies:

    npm install
    
  3. Setup environment variables (OPTIONAL, USE MINE): Changes in API_KEY (if needed) to be done in :

    mental-health-api/
    ├──...          
    ├──...         
    ├──...          
    ├──...        
    ├── server.js          # Main server file
    ├── infrastructure/               
        ├── geminiai/   
        ├   └── geminiService.js  # NEW API KEY ADDING SLOT
        └──── db/    
               └── index.js  # PostGres Setup
    
    
  4. Run the Server: (Not Needed after v1.0.6)

    npm start
    
  5. Run the App:

    cd ../../lib/
    flutter clean
    flutter pub get
    flutter run
    
    

    Alternatively you could use :

    flutter build apk
    
  6. Structure of DB:

    Songs Table

     YOU NEED TO CREATE THIS YOURSELF IN POSTGRESQL (Not Needed after v1.0.6)
    
     This is the structure of the `songs` table in the `public` schema.
     
     | Column   | Type                   | Collation | Nullable | Default                                |
     |----------|------------------------|-----------|----------|----------------------------------------|
     | `title`  | `character varying(100)`|           | `false`  |                                        |
     | `author` | `character varying(100)`|           | `false`  |                                        |
     | `songlink`| `character varying(256)`|          | `false`  |                                        |
     | `id`     | `bigint`                |           | `false`  | `nextval('songs_id_seq'::regclass)`    |
     | `imageid`| `character varying(256)`|           | `true`   |                                        |
     
     ### Notes:
     - The `id` column is auto-incremented using the `nextval('songs_id_seq'::regclass)` function.
     - `imageid` is optional and can store a link or identifier for the image associated with the song.
    

    Query:

    CREATE TABLE public.songs ( id BIGSERIAL PRIMARY KEY, title VARCHAR(100) NOT NULL, author VARCHAR(100) NOT NULL, songlink VARCHAR(256) NOT NULL, imageid VARCHAR(256) );

  7. PROVIDE CONNECTION IN FLUTTER : (NOT NEEDED AFTER v1.0.6)

    cd lib/features/meditation/data/meditation_remote_source.dart
    cd lib/features/music/data/song_database.dart
    

    Give your IPv4 in the Uri.Parse url. ("mine starts with 192").

MORE SCREENSHOTS

Model NEW MODEL

Home App Screenshot 5 App Screenshot 5

Song Playlist App Screenshot 7

Settings App Screenshot 8

Backend App Screenshot 9 App Screenshot 9 App Screenshot 10 App Screenshot 10

Usage

  • Explore all the sections to receive personalized mental health tips based on your needs.
  • Use the music player to listen to relaxing tracks and enhance your mindfulness practice.
  • Explore the FER MODEL Section (NOT Fully Developed).

Song Player in Action

References

  • Machine Learning Model: Colab Notebook
    This notebook contains the ML model used in the app. Feel Free to Clone and Modify.

  • UI Inspiration: Figma File
    Explore the Figma file for design inspiration and UI components.

Contributing

We welcome contributions to improve Mindful! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature) (DONT USE MAIN).
  3. Make your changes and commit them (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a Pull Request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For questions or feedback, please reach out to me at:

  • Email id: [arya.2023ug1104@iiitranchi.ac.in](mailto:arya.2023ug1104@iiitranchi.ac.in)
  • GitHub: ARYPROGRAMMER

Mindful - I invite you to join a community focused on mental health and well-being. Together, we can create a positive impact, one mindful moment at a time. PRs ARE APPRECIATED

Arya Pratap Singh GitHub avatar
GitHub 作者

Arya Pratap Singh ↗

Intern @Global-Groupware-Solutions-Ltd | ex-Full Stack Intern @Stealthera-in | ex-Full Stack Intern @AcumensaTechnologies | Pre-Final Year @IIITR

INDIAN INSTITUTE OF INFORMATION TECHNOLOGY, RANCHIMUMBAI官方网站 ↗
语言DartJavaScriptSwiftKotlinObjective-C

分类

使用的依赖

依赖清单 37 项

如何选择适合项目的代码仓?

先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。

  1. 通过仓库名、作者或描述搜索,再按技术分类缩小范围。
  2. 结合星标、复刻与最近推送比较项目;星标反映社区关注,不代表质量保证。
  3. 使用前在 GitHub 核对 README、许可证与 Issues。

来源与维护

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗