ZenChat is a mental health-focused chat application designed to provide users with an interactive space to share their thoughts and receive support. By using a custom-built API with Node.js and OpenAI, ZenChat offers empathetic conversations tailored to the user's emotional needs. The app also includes customization options such as themes, daily reminders, and calming audio.
- GitHub Repository: https://github.com/abd-abd-123/Project---DMD
- Team Members:
- Mahmoud Mirghani Abdelrahman
- El-Ghoul Layla
- Uritu Andra-Ioana
- Group: 1231EB
-
Interactive AI Chat:
- Users can communicate with an AI assistant for emotional support.
- Responses are generated through a Node.js backend powered by the OpenAI API.
-
Custom Themes:
- Support for light and dark modes based on user preferences.
-
Daily Notifications:
- Daily reminders for users to check in on their mental health.
-
Calming Audio:
- An option to play soothing sounds for a relaxing experience.
-
Chat History:
- Save and retrieve previous messages using Room Database.
The project incorporates the following components:
- MainActivity: The primary interface for user-AI conversations.
- SettingsActivity: A sepparate screen for theme selection, notifications, and audio toggle options.
- Used for navigation between activities (e.g., MainActivity <-> SettingsActivity).
- Save user settings such as:
- Dark or light theme preferences.
- Daily notification settings.
- Audio toggle state.
- Implemented using Room Database to:
- Store chat history for retrieval.
- Ensure a seamless user experience when reopening the app.
- Daily reminders implemented using:
- Broadcast Receivers for
BOOT_COMPLETEDevents to reschedule notifications. - AlarmManager to schedule exact alarms for daily notifications.
- Broadcast Receivers for
- DailyNotificationReceiver:
- Handles the reception of alarm signals to trigger daily notifications.
- CalmingAudioService:
- A foreground service that plays relaxing audio continuously when enabled, visible through persistent notifications.
- Node.js API integrated with OpenAI API:
- Processes user messages and returns empathetic responses.