- Nguyễn Văn Minh
- Nguyễn Trung Nguyên
Zolara is a comprehensive real-time communication platform consisting of three main components:
| Component | Description | Documentation |
|---|---|---|
| Zolara Server | Backend API server built with NestJS | 📖 Read More |
| Zolara Mobile | Cross-platform mobile app with Expo & React Native | 📖 Read More |
| Zolara Admin | Admin dashboard for managing users and analytics | 📖 Read More |
- 💬 Real-time Messaging - Instant chat with Socket.IO
- 📞 Voice & Video Calls - WebRTC-powered communication
- 👥 Group Management - Create and manage group conversations
- 🤖 AI Chatbot - Integrated AI assistant powered by Google Generative AI
- 📊 Admin Dashboard - Comprehensive user and analytics management
- 🔐 Secure Authentication - JWT-based auth with secure storage
- 📱 Cross-Platform - iOS, Android, and Web support
- 🌙 Dark Mode - Full theme customization
- 📸 Media Sharing - Images, videos, documents, and voice messages
- 🔔 Push Notifications - Real-time notification system
- Framework: NestJS 11.0.1
- Language: TypeScript 5.7.3
- Database: PostgreSQL with Prisma ORM
- Cache: Redis
- Real-time: Socket.IO
- AI: Google Generative AI
- Storage: Supabase
- Email: SendGrid, Nodemailer
- SMS: Twilio
- Framework: Expo 54.0.25 & React Native 0.81.5
- Language: TypeScript 5.9.2
- Navigation: Expo Router 6.0.15
- UI Library: GlueStack UI, NativeWind
- State Management: Zustand
- Real-time: Socket.IO Client
- Media: Expo AV, Camera, Image Picker
- Calls: React Native WebRTC
- Framework: React 19.2.0 & Vite 7.2.2
- Language: TypeScript 5.9.3
- Routing: React Router DOM 7.9.6
- UI: Tailwind CSS 4.1.17
- Charts: Chart.js & React-ChartJS-2
- Icons: Lucide React
- Node.js 18+ and npm/pnpm/yarn
- PostgreSQL database
- Redis server
- Expo CLI (for mobile development)
-
Clone the repository
git clone https://github.com/NguyenNguyen0/zolara.git cd zolara -
Setup Server
cd zolara-server npm install cp .env.example .env # Configure your .env file npm run db:migrate npm run db:seed npm run dev
-
Setup Mobile App
cd zolara-mobile npm install cp .env.example .env # Configure your .env file npm start
-
Setup Admin Dashboard
cd zolara-admin npm install cp .env.example .env # Configure your .env file npm run dev
zolara/
├── zolara-server/ # Backend API (NestJS)
│ ├── src/
│ │ ├── auth/ # Authentication module
│ │ ├── user/ # User management
│ │ ├── message/ # Messaging system
│ │ ├── group/ # Group management
│ │ ├── agent/ # AI chatbot
│ │ └── ...
│ └── prisma/ # Database schema & migrations
│
├── zolara-mobile/ # Mobile App (Expo/React Native)
│ ├── app/ # Expo Router screens
│ │ ├── (auth)/ # Authentication flows
│ │ ├── (tabs)/ # Main tab navigation
│ │ └── (user)/ # User-specific screens
│ └── src/
│ ├── components/ # Reusable components
│ ├── services/ # API services
│ ├── store/ # State management
│ └── ...
│
└── zolara-admin/ # Admin Dashboard (React/Vite)
└── src/
├── components/ # UI components
├── pages/ # Page components
├── services/ # API services
└── ...
This project is licensed under the MIT License.
Contributions, issues, and feature requests are welcome!
For any questions or support, please contact the development team.
Built with ❤️ by the Zolara Team