A real-time chat app built with Expo + React Native + TypeScript, focusing on clean architecture and real-world chat functionality. Designed for scalability, real-time communication, and a smooth cross-platform experience.
- ✏️ Edit & 🗑️ Delete messages
- 🆕 Create new chats
- 🔗 Join chats via invite code
- 🖼️ User avatars & profile management
- 📦 Real-time updates via Socket.IO
- 😄 Emoji support in chats
- 🔐 Authentication & user management
- Expo & React Native – Cross-platform mobile app
- TypeScript – Type safety
- React Query – Server state management
- Socket.IO – Real-time communication
- Tailwind CSS & NativeWind – Styling
- React Hook Form + Zod – Form handling & validation
- Lucide React Native & Expo Vector Icons – Icons & visuals
- AsyncStorage – Persistent user data
- Day.js – Date formatting
- NetInfo – Online/offline detection
Follow these steps to run the app locally:
git clone https://github.com/m-mohammad-d/direct.git
cd directnpm installnpm startThis will open the Expo Dev Tools in your browser.
- Android: Press
aor click Run on Android device/emulator - iOS: Press
ior click Run on iOS simulator - Web: Press
wor click Run in web browser
If needed, create a .env file for backend URL or API keys:
API_URL=https://your-backend.com/api
- Hot Reloading is enabled – code changes appear instantly
- All chat data is cached via React Query for smoother UI
- Custom hooks separate logic from UI for maintainability
- Socket.IO ensures real-time updates for messages, edits, deletions
- Tailwind CSS via NativeWind for responsive and clean UI
- Lucide icons for sleek, modern look
- Emojis supported in messages for fun interaction