Made by :

Ben Hnia Intidhar

Abdelkefi Farah

Ben Hajla Nour

ChatzyApp :

This application offers an innovative conversational experience, driven by a dynamic fusion of cutting-edge technologies. It employs the MVVM (Model-View-ViewModel) architecture to guarantee an organized structure, effectively managing data and user interactions. Featuring UI design, RecyclerView, Room database integration, and Retrofit for API communication, it goes beyond with advanced functionalities such as text copying and sharing. Additionally, it seamlessly integrates the OpenAI API to enhance the conversational intelligence.

Features:

Chat with ChatGPT in real-time.

Create and manage new chats.

Copy text from the chat interface.

Text-to-voice and voice-to-text functionalities.

API : OpenAI API https://platform.openai.com/docs/introduction

Details :

1-Design Welcome Screen :

In this initial phase, we meticulously crafted the Welcome Screen for the App. Utilizing Android Studio's layout editor, we engineered a welcoming interface designed to be user-friendly and visually appealing. As a foundational step, we established crucial dependencies, including Retrofit for seamless API integration and Room for efficient local storage. Furthermore, we diligently implemented the MVVM architecture, providing a robust structural framework for the application.

Screenshot 2024-01-23 230422

2-Designing Chat Screen :

In this phase, our attention shifts towards crafting the Chat Screen. Our meticulous approach involves building a user interface with a RecyclerView, implementing DiffUtil for efficient UI updates, and seamlessly integrating the MVVM architecture to manage data effectively. As we progress through this part, the Chat Screen evolves into a sophisticated space ready to elegantly display messages, ensuring a seamless and visually engaging user experience.

Screenshot 2024-01-23 230729

3-Advanced Features :

In this pivotal stage, We have diligently implemented internet connectivity checks to ensure a seamless user experience. Leveraging the Clipboard Manager, users can effortlessly copy messages,while Share Intents facilitate quick sharing of messages across different applications. Furthermore, we've empowered users with the ability to select and manipulate text within the chat, adding an extra layer of interactivity. The inclusion of intuitive popup menus enhances overall user interactions, contributing to a sophisticated and dynamic app experience.

Screenshot 2024-01-23 230759

Screenshot 2024-01-23 232453

Screenshot 2024-01-23 232554

Screenshot (31)

4-Integrating OpenAI API :

In this pivotal stage, we seamlessly integrated the OpenAI API into our application using Retrofit, unlocking the potential for engaging chat interactions powered by GPT-3. Our implementation involved making precise API requests, adeptly handling responses, and prioritizing secure API key management to safeguard user interactions. This strategic integration opens up a world of possibilities for dynamic and intelligent conversations within the app, enriching the user experience with the advanced capabilities of GPT-3.

5-Room Database Integration :

In this crucial phase, we seamlessly incorporated the Room Database into our chat screen. By setting up Room, we established a robust mechanism to store chat history locally, empowering users to access their conversations even in offline scenarios. This integration is pivotal for ensuring a seamless user experience, as it enhances the app's functionality by providing persistent access to chat interactions, regardless of the user's connectivity status.

Screenshot 2024-01-23 231459

Screenshot 2024-01-23 231518

Screenshot 2024-01-23 231535

6-Inserting Robots :

In this segment, we delve into the exciting process of incorporating robots into the Robot Screen, leveraging both Retrofit and the MVVM architecture.

Screenshot 2024-01-23 230553

Screenshot 2024-01-23 232135

7-Managing Robots :

In this section, we explored the functionality to view, update, and delete robots in your app. We implemented navigation and utilized Retrofit to efficiently manage robots, empowering users with complete control over their robot interactions.

Screenshot 2024-01-23 230649

Screenshot 2024-01-23 230706

8-Text To Speech and Voice to Text :

In this part, we will incorporate Text To Speech (TTS) and Voice to Text (VTT) capabilities into the app. Users will have the ability to convert text messages to speech and employ voice input for sending messages, offering a more dynamic and inclusive communication experience.

In this section, we utilized the Kotlin Speech to Voice library to implement Text To Speech (TTS) functionality

Screenshot 2024-01-23 230744

Screenshot 2024-01-23 232902