Zolara is a fullstack chat application that provides real-time messaging capabilities using Firebase and Agora. This project is designed to demonstrate a modern, scalable, and efficient chat application architecture.
- Nguyễn Trung Nguyên (leader 🗿)
- Nguyễn Văn Minh (fullstack 🤩)
- Real-time Messaging: Powered by Firebase for seamless communication.
- Video and Voice Calls: Integrated with Agora for high-quality audio and video calls.
- Cross-Platform Support: Built with React Native for mobile and web compatibility.
The project is organized into the following main directories:
apps/admin: Admin dashboard for managing the application.apps/mobile: Mobile application built with React Native.apps/server: Backend server for handling API requests and business logic.packages/*: Shared configurations and types for the monorepo.
Ensure you have the following installed on your system:
- Node.js (>= 16.x)
- Yarn (>= 1.x)
- Expo CLI (for mobile development)
-
Clone the repository:
git clone https://github.com/nguyennguyen0/zolara.git cd zolara -
Install dependencies:
yarn install
-
Add environment variables:
- Create a
.envfile in theapps/mobiledirectory and add your Firebase and Agora credentials.
- Create a
- Start the development server:
npm run dev:mobile
- Start the development server:
npm run dev:admin
- Start the server:
npm run dev:server
To add a dependency to a specific workspace, use the following command:
yarn workspace <workspace-name> add <dependency-name>For example, to add dotenv to the mobile workspace:
yarn workspace mobile add dotenv