A cross-platform chat application built with React Native and Expo, featuring real-time messaging and modern UI.
- User authentication (email/password)
- Real-time messaging
- Modern and responsive UI
- Cross-platform (iOS and Android)
- Profile management with avatar support
- Push notifications for new messages
- Node.js (v14 or newer)
- npm or yarn
- Expo CLI (
npm install -g expo-cli) - Firebase account and project
- iOS Simulator (for iOS testing) or Android Emulator (for Android testing)
- Clone the repository:
git clone <repository-url>
cd twight-app- Install dependencies:
npm install-
Configure Firebase:
- Create a new Firebase project at Firebase Console
- Enable Authentication (Email/Password)
- Create a Firestore database
- Enable Storage
- Copy your Firebase configuration from Project Settings
- Update the configuration in
src/config/firebase.ts
-
Start the development server:
npm start- Run on your device:
- Install the Expo Go app on your device
- Scan the QR code from the terminal
- Or press 'i' for iOS simulator or 'a' for Android emulator
The project uses:
- React Native with Expo
- TypeScript for type safety
- NativeWind (Tailwind CSS) for styling
- Firebase for backend services
- React Navigation for routing
src/
├── components/ # Reusable components
├── config/ # Configuration files
├── contexts/ # React Context providers
├── screens/ # Screen components
├── types/ # TypeScript type definitions
└── utils/ # Utility functions
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details