Date: January 2025
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.
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_COMPLETED
events to reschedule notifications.
AlarmManager to schedule exact alarms for daily notifications.
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.