This is a chat application designed for mobile phones, built using React Native, which means it works on both Android and iOS. The app lets users chat, share photos, their location, and audio recordings.
The main goal of this project is to create an easy-to-use chat app that works on any smartphone, allowing people to talk, share pictures, audio recordings and location using their phone's map.
- User Engagement: Simple and intuitive interface for users to engage in chat rooms.
- Communication Tools: Exchange messages, share images, location, and audio recordings.
- Offline Accessibility: Read messages offline.
- Customization: Choose color themes and see names displayed.
- Accessibility: Designed for accessibility, including screen reader compatibility.
- Audio Recording and Playback: Record and play back audio messages within the chat.
- Built With React Native: For Android and iOS compatibility.
- Development Environment: Uses Expo for development.
- Stylish Design: Adheres to design guidelines.
- Data Management:
- Chats in Google Firestore Database.
- Anonymous sign-in with Firebase.
- Local chat history storage.
- Image and audio file sharing and storage in Firebase Cloud Storage.
- Location sharing using GPS.
- Install Node.js and npm: Download from nodejs.org.
- Install Expo CLI: Run
npm install -g expo-cli
. - IDE: Use Visual Studio Code or similar.
- Android Studio/Xcode: For emulator and SDK tools.
- Create a Firebase Project: Visit Firebase Console.
- Add an App: In the Firebase project, add an Android or iOS app.
- Configure Database: Set up Firestore or Realtime Database.
- Database Credentials: Insert Firebase configuration in
App.js
,CustomActions.js
.
@react-native-community/netinfo
,@react-navigation/native
,expo
,firebase
, etc.- Install with
npm install
.
- Run
expo start
in the project directory. - Run on Android/iOS simulator or physical device.
- Refer to Expo or React Native documentation for issues.
- Check Firebase configuration for connectivity problems.
- Fork the repository.
- Create a pull request with your changes.