Skip to content

A React Native mental health application featuring modern light/dark themes, comprehensive accessibility support, and therapeutic interaction patterns.

Notifications You must be signed in to change notification settings

Rayyan9477/Solace-AI-Mobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Solace AI Mobile

Your Empathetic Digital Confidant β€” A React Native mental health application with AI therapy, mood tracking, mindfulness, and community support.

React Native Expo TypeScript License Tests


✨ Key Features

Feature Description
πŸ€– AI Therapy Chat Natural language conversations with emotional intelligence
πŸ“Š Mood Tracking Track daily moods with analytics and trend insights
🧘 Mindfulness Guided meditation and breathing exercises
πŸ“ Journaling Secure mental health journal with mood tagging
πŸ†˜ Crisis Support Emergency resources and crisis hotline integration
πŸ‘₯ Community Moderated support groups and peer connection
πŸ“ˆ Assessments Evidence-based mental health screening
🎨 Customizable Themes 5 therapeutic color palettes + light/dark modes + web responsive design
β™Ώ Accessibility Full screen reader support and keyboard navigation
πŸ“± Cross-Platform iOS, Android, and Web support

πŸš€ Quick Start

Prerequisites

  • Node.js v16+ | npm v8+ | Git
  • Expo CLI: npm install -g expo-cli
  • Optional: Xcode (iOS) | Android Studio (Android)

Installation & Running

# Clone the repository
git clone https://github.com/Rayyan9477/Solace-AI-Mobile.git
cd Solace-AI-Mobile

# Install dependencies
npm run setup

# Start development server
npm start

# Run on platform (from Expo CLI):
# Press 'a' for Android | 'i' for iOS | 'w' for web

Alternative Commands

npm run web                    # Web development
npm run dev                    # Main app + theme preview (concurrent)
npm run android               # Android build
npm run ios                   # iOS build

πŸ“š Documentation

Document Purpose
PROJECT.md Comprehensive project guide with structure & architecture
ARCHITECTURE.md Detailed system design and patterns
DESIGN_GUIDE.md Design system, UI components, and guidelines
CONTRIBUTING.md Development standards and contribution workflow
CLAUDE.md AI development assistant reference

πŸ—οΈ Architecture Overview

Feature-Based Structure

src/
β”œβ”€β”€ app/                    # App configuration (navigation, store, providers)
β”œβ”€β”€ features/               # Feature modules (mood, chat, auth, etc.)
β”œβ”€β”€ shared/                 # Reusable components & utilities (Atomic Design)
└── ...

Key Technologies

  • State Management: Redux Toolkit + Redux Persist
  • Navigation: React Navigation v6
  • UI Components: React Native Paper + Custom Atomic Design
  • Theme System: UnifiedThemeProvider (Light/Dark modes)
  • Testing: Jest + React Testing Library + Playwright
  • Type Safety: TypeScript

Import Aliases

// Clean absolute imports
import { Button } from '@components/atoms/Button';
import { useTheme } from '@theme/ThemeProvider';
import { formatDate } from '@utils/dateUtils';

πŸ§ͺ Testing

# Run all tests
npm test                          # Jest watch mode
npm run test:ci                   # CI with coverage

# E2E tests (Playwright)
npm run test:playwright           # Run all E2E tests
npm run test:playwright:debug     # Debug mode
npm run test:playwright:report    # View HTML report

# Code quality
npm run lint                      # Check linting
npm run lint:fix                  # Auto-fix issues

Test Status: 519/548 tests passing (94.7%) βœ…


πŸ’» Development Workflow

Code Standards

  • βœ… Functional components with React Hooks
  • βœ… TypeScript for type safety
  • βœ… Absolute imports with aliases
  • βœ… Atomic Design pattern for UI components
  • βœ… Proper error boundaries
  • βœ… Comprehensive accessibility attributes

Development Commands

npm start              # Expo development server
npm run dev           # Main app + theme preview
npm run lint:fix      # Fix linting issues
npm run theme-preview # Theme preview only

πŸ“Š Project Statistics

Metric Value
Components 50+ reusable components
Features 10+ major features
Test Coverage 85%+ code coverage
Test Suites 30 test suites
TypeScript Files 80+ .ts/.tsx files
Documentation Comprehensive (5+ guides)

🎨 Design System

Themes

  • Light Mode: Clean, energizing colors for daytime use
  • Dark Mode: Therapeutic brown palette for evening use
  • Accessible: High contrast options and reduced motion support
  • Web Responsive: Adaptive layouts for desktop, tablet, and mobile

Color Palettes

Choose from 5 therapeutic color presets designed for mental wellness:

Palette Description Best For
Mindful Brown Original therapeutic brown (default) General wellness, evening use
Serene Green Calming green tones Anxiety relief, meditation
Warm Orange Energizing orange/amber Motivation, morning use
Wisdom Purple Deep purple tones Focus, contemplation
Sunshine Yellow Bright optimistic yellows Mood elevation, energy boost

Customize your theme: Navigate to Profile β†’ Theme Settings to select your preferred color palette. Changes apply instantly and persist across sessions.

Responsive Design

  • Mobile First: Optimized touch targets and layouts for phones
  • Web Optimized: Centered content with max-width constraints (480-800px)
  • Tablet Support: Adaptive breakpoints for iPad and tablets
  • Desktop Ready: Professional card-based layouts for large screens

See DESIGN_GUIDE.md for detailed design specifications.


πŸ”§ Technology Stack

Core

  • React Native - Mobile app framework
  • Expo - Development platform
  • React 18.3.1 - UI library
  • TypeScript - Type safety

State & Routing

  • Redux Toolkit - State management
  • Redux Persist - State persistence
  • React Navigation v6 - Routing

UI & Styling

  • React Native Paper - Material Design
  • Reanimated - Smooth animations
  • Linear Gradient - Gradient effects

Testing

  • Jest - Test runner
  • React Testing Library - Component testing
  • Playwright - E2E testing

🚒 Building & Deployment

Development

npm run setup          # Full setup
npm start             # Start Expo
npm run web           # Web development

Production

npm run lint:fix      # Format code
npm run test:ci       # Run tests
npm run android       # Android build
npm run ios           # iOS build

πŸ‘₯ Contributing

We welcome contributions! Please see CONTRIBUTING.md for:

  • Code standards and style guide
  • Commit message conventions
  • Pull request process
  • Testing requirements
  • Documentation guidelines

Quick Contribution Steps

# 1. Create feature branch
git checkout -b feature/your-feature

# 2. Make changes & add tests
npm run lint:fix
npm test

# 3. Push and create pull request
git push origin feature/your-feature

πŸ†˜ Crisis Support

If you're in crisis, please reach out:

The app includes emergency resources and crisis support features.


πŸ“„ License

MIT License - See LICENSE file for details


πŸ“ž Support


Version: 1.0.0 | Last Updated: October 2025 | Maintained by: Rayyan9477

About

A React Native mental health application featuring modern light/dark themes, comprehensive accessibility support, and therapeutic interaction patterns.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •