A comprehensive full-stack social communication platform featuring real-time messaging, voice/video calls, user management, and analytics dashboard. Built with modern technologies and designed for scalability and performance.
| Name | Role | GitHub |
|---|---|---|
| Nguyα» n Trung NguyΓͺn | Team Leader πΏ | @NguyenNguyen0 |
| Nguyα» n VΔn Minh | Fullstack Developer π€© | @nvminh162 |
Zolara is a modern, real-time social communication platform that enables users to connect, chat, make voice/video calls, and share content seamlessly. The platform consists of three main components:
- π₯οΈ Admin Dashboard: A comprehensive web-based admin panel for monitoring and managing the platform
- π± Mobile App: A cross-platform mobile application built with React Native and Expo
- π Backend Server: A robust NestJS-based API server with real-time capabilities
- π¬ Real-time Messaging: Instant messaging with Socket.io
- π Voice & Video Calls: High-quality communication features
- π₯ User Management: Complete user profiles and friend system
- π Authentication & Security: JWT-based secure authentication
- π Analytics Dashboard: Comprehensive admin analytics and monitoring
- π Cross-platform: Web admin panel and mobile app
- π Real-time Updates: Live notifications and updates across all platforms
- Framework: React 19.2.0 with TypeScript
- Styling: Tailwind CSS 4.1.17
- Build Tool: Vite 7.2.2
- Routing: React Router DOM 7.9.6
- Charts: Chart.js 4.5.1 with react-chartjs-2
- Icons: Lucide React, Radix UI Icons
- HTTP Client: Axios 1.13.2
- Framework: React Native 0.81.5 with Expo ~54.0
- Navigation: React Navigation 7.x
- Styling: NativeWind (Tailwind for React Native)
- State Management: Zustand & Redux Toolkit
- Internationalization: i18next & react-i18next
- Real-time: Socket.io Client
- Storage: AsyncStorage & Expo SecureStore
- Framework: NestJS 11.0.1 with TypeScript
- Database: PostgreSQL with Prisma ORM 6.19.0
- Caching: Redis 5.9.0
- Real-time: Socket.io 4.8.1
- Authentication: JWT with Passport
- File Storage: Supabase Storage
- Email: Nodemailer & Resend
- SMS: Twilio
- API Documentation: Swagger/OpenAPI
- Containerization: Docker & Docker Compose
- Cloud Platforms: Railway, Supabase
- Database: PostgreSQL (Production), Redis (Caching)
- File Storage: Supabase Storage
- Environment Management: Environment-specific configurations
zolara/
βββ zolara-admin/ # Admin Dashboard (React + TypeScript)
β βββ src/
β β βββ components/ # UI Components
β β βββ contexts/ # React Contexts
β β βββ hooks/ # Custom Hooks
β β βββ pages/ # Page Components
β β βββ services/ # API Services
β β βββ types/ # TypeScript Types
β βββ Dockerfile # Docker configuration
β βββ README.md # Admin documentation
β
βββ zolara-mobile/ # Mobile App (React Native + Expo)
β βββ app/ # Expo Router pages
β βββ src/
β β βββ components/ # Reusable Components
β β βββ hooks/ # Custom Hooks
β β βββ services/ # API Services
β β βββ store/ # State Management
β β βββ types/ # TypeScript Types
β βββ README.md # Mobile documentation
β
βββ zolara-server/ # Backend API (NestJS)
β βββ src/
β β βββ auth/ # Authentication Module
β β βββ user/ # User Management
β β βββ message/ # Messaging System
β β βββ dashboard/ # Admin Dashboard APIs
β β βββ prisma/ # Database Module
β βββ prisma/ # Database Schema & Migrations
β βββ docker-compose.yml # Development services
β βββ Dockerfile # Production container
β βββ README.md # Server documentation
β
βββ README.md # This file
- Node.js 18+
- npm or yarn
- Docker and Docker Compose
- PostgreSQL (for production)
- Redis (for caching)
- Clone the repository:
git clone https://github.com/NguyenNguyen0/zolara.git
cd zolara- Set up the backend server:
cd zolara-serverπ Follow detailed server setup instructions β
- Set up the admin dashboard:
cd ../zolara-adminπ Follow detailed admin setup instructions β
- Set up the mobile app:
cd ../zolara-mobileπ Follow detailed mobile setup instructions β
For a complete development environment with all services:
- Start backend services:
cd zolara-server
docker-compose up -d postgres redis- Set up database:
npx prisma migrate deploy
npm run db:seed- Start all services:
# Terminal 1: Backend Server
cd zolara-server
npm run dev
# Terminal 2: Admin Dashboard
cd zolara-admin
npm run dev
# Terminal 3: Mobile App
cd zolara-mobile
npm startEach component has its own detailed documentation:
| Component | Description | Documentation |
|---|---|---|
| π Backend Server | NestJS API with real-time features | Server README |
| π₯οΈ Admin Dashboard | React-based admin panel | Admin README |
| π± Mobile App | React Native mobile application | Mobile README |
The platform supports various deployment options:
- Backend: Railway, Heroku, or any Node.js hosting
- Admin Dashboard: Vercel, Netlify, or static hosting
- Mobile App: Expo EAS Build for iOS/Android stores
- Database: Railway PostgreSQL, Supabase, or managed PostgreSQL
- Storage: Supabase Storage, AWS S3, or similar
Each component requires specific environment variables. Check individual README files for detailed configuration:
Run tests across all components:
# Backend tests
cd zolara-server
npm run test
npm run test:e2e
# Admin tests (if configured)
cd zolara-admin
npm run test
# Mobile tests (if configured)
cd zolara-mobile
npm run testWe welcome contributions! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Follow the code style and conventions
- Add tests for new features
- Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Code Style: Follow ESLint and Prettier configurations
- Commits: Use conventional commit messages
- Testing: Add tests for new features and bug fixes
- Documentation: Update relevant README files
This project is licensed under the MIT License. See individual component licenses for more details.
- Repository: GitHub - NguyenNguyen0/zolara
- Issues: GitHub Issues
- Discussions: GitHub Discussions
For support and questions:
- π§ Email: Contact team members via GitHub
- π Bug Reports: Create an issue
- π‘ Feature Requests: Start a discussion
- Real-time messaging system
- User authentication and profiles
- Admin dashboard with analytics
- Mobile app with cross-platform support
- Voice and video calling capabilities
- Enhanced file sharing and media support
- Advanced user roles and permissions
- Push notifications for mobile
- Advanced analytics and reporting
- Multi-language support expansion
Built with β€οΈ by the Zolara Team
Empowering real-time communication through modern technology