- Dart 97.5%
- C++ 1.3%
- CMake 1%
- Swift 0.1%
| android | ||
| assets/images | ||
| fonts | ||
| ios | ||
| lib | ||
| linux | ||
| macos | ||
| test | ||
| web | ||
| windows | ||
| .env | ||
| .gitignore | ||
| .metadata | ||
| analysis_options.yaml | ||
| devtools_options.yaml | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| README.md | ||
| test_auth.dart | ||
MindMentor Admin
MindMentor Admin is a Flutter-based administrative panel for managing the MindMentor application, a platform focused on meditation, mental health content, and user subscriptions. This app allows administrators to oversee users, content (meditations, articles, rituals), analytics, notifications, and more.
Features
- User Management: View and manage active users, subscribers, and user data.
- Content Management: Administer meditations, articles, rituals, knowledge base, and other content.
- Analytics: Monitor revenue, MRR (Monthly Recurring Revenue), user registrations, popularity metrics, and daily metrics.
- Notifications: Send notifications to users.
- Chat Support: Handle user chats and support interactions.
- Subscription Management: Oversee subscription plans and subscriber data.
Prerequisites
Before running this project, ensure you have the following installed:
- Flutter SDK: Version 3.7.2 or higher. Download from flutter.dev.
- Dart SDK: Included with Flutter.
- Android Studio or Xcode: For Android and iOS development respectively.
- Git: For version control.
System Requirements
- Operating System: Windows, macOS, or Linux.
- RAM: At least 8GB recommended.
- Storage: Sufficient space for Flutter SDK and project dependencies.
Installation
-
Clone the Repository:
git clone <repository-url> cd mindmentoradmin -
Install Dependencies: Run the following command to fetch all required packages:
flutter pub get -
Set Up Environment:
- Ensure you have Android SDK (for Android development) or Xcode (for iOS) properly configured.
- For Android: Set up your Android emulator or connect a physical device.
- For iOS (macOS only): Set up your iOS simulator or connect a physical device.
Running the App
For Android:
flutter run
This will build and run the app on the connected Android device or emulator.
For iOS (macOS only):
flutter run
This will build and run the app on the connected iOS device or simulator.
For Web (if supported):
flutter run -d chrome
Dependencies
The project uses the following key dependencies (defined in pubspec.yaml):
- flutter: The core Flutter framework.
- get: State management and routing library.
- dio: HTTP client for API calls.
- shared_preferences: Local storage for simple data.
- flutter_secure_storage: Secure storage for sensitive data like tokens.
- flutter_svg: Support for SVG images.
- cached_network_image: Caching for network images.
- video_player: For playing video content.
- audioplayers: For playing audio content.
- file_picker: For selecting files.
- pin_code_fields: For PIN input fields.
- mask_text_input_formatter: For input masking.
- flutter_bloc: State management (Bloc pattern).
- web_socket_channel: For WebSocket connections.
- url_launcher: For launching URLs.
- intl: Internationalization support.
- equatable: For value equality comparisons.
For a complete list, refer to the pubspec.yaml file.
Project Structure
lib/
├── core/
│ ├── config/ # App configuration
│ ├── constants/ # App constants and texts
│ ├── controllers/ # Base controllers and user controller
│ ├── init/ # App initialization
│ ├── middleware/ # Authentication middleware
│ ├── mixins/ # Reusable mixins
│ ├── models/ # Data models and responses
│ └── routes/ # App routing
├── helpers/ # Utility helpers
├── screens/ # UI screens (not shown in file list)
├── widgets/ # Reusable widgets (not shown in file list)
└── main.dart # App entry point
API Configuration
The app connects to the MindMentor backend API:
- Base URL:
https://admin.mindmentorapp.com/api - WebSocket:
wss://admin.mindmentorapp.com/adonis-ws - API Version:
/api/v1
Authentication is handled via JWT tokens stored securely.
Building for Production
Android APK:
flutter build apk --release
iOS IPA:
flutter build ios --release
Web Build:
flutter build web --release
Testing
Run tests with:
flutter test
Contributing
- Fork the repository.
- Create a feature branch.
- Make your changes.
- Run tests and ensure everything works.
- Submit a pull request.
Support
For issues or questions, please contact the development team or create an issue in the repository.
License
This project is proprietary. All rights reserved.