Push Meets
Push Meets is a cutting-edge web application built around the push protocol, offering seamless wallet-to-wallet video calls and real-time communication features. With Push Meets, users can effortlessly connect with their wallets, initiate video calls, create instant meetings, schedule future meetings, manage contacts, and engage in real-time chat conversations, all within a secure and user-friendly environment.
Video
Features
Wallet-to-Wallet Video Calls
- Secure Connectivity: Users can connect with their wallets securely to initiate wallet-to-wallet video calls.
- High-Quality Video: Enjoy high-quality video calls for crystal-clear communication and collaboration.
- Push SDK Integration: Leveraging the Push SDK ensures reliable and efficient video call functionality.
Instant Meetings
- On-the-Fly Collaboration: Create instant meetings for immediate collaboration needs, enabling users to connect instantly.
- Flexible Scheduling: Users have the flexibility to schedule meetings for the current time or at a later date and time.
- Effortless Setup: Initiate meetings with ease, whether for impromptu discussions or planned sessions.
Contact Management
- Add and Manage Contacts: Users can add and manage contacts within the application, facilitating streamlined communication.
- Accept Requests: Accept incoming contact requests to expand your network and enhance collaboration opportunities.
Real-Time Chat
- Seamless Communication: Engage in real-time chat conversations during video calls, allowing for additional context and collaboration.
- Push SDK Integration: Real-time chat functionality is seamlessly integrated using the Push SDK, ensuring smooth communication.
Getting Started
To get started with Push Meets, follow these steps:
Clone the Repository: Clone the Push Meets repository to your local machine:
git clone https://github.com/Gautam25Raj/push-hack
Install Dependencies: Navigate to the project directory and install dependencies using npm or yarn:
npm install cd server npm install
Configure Environment Variables: Set up environment variables required for the application. Refer to the provided
env
example below for details.Start the Development Server: Start the development server by running the following command:
cd server npm start
Access Push Meets: Once the server is running, access Push Meets in your web browser at the specified localhost URL.
Project Structure
Client: frontend
- app: Contains Next.js folder routes for the frontend.
- components: Houses frontend components used in the application.
- hooks: Stores custom React hooks utilized throughout the frontend.
- providers: Holds custom provider components such as
AuthProvider
,ReduxProvider
, etc. - public/assets: Contains images and other static assets used in the frontend.
- redux: Houses Redux store configuration and slices for state management.
- tailwind.config.js: Configuration file for Tailwind CSS.
Server: backend
- config: Contains database configuration files.
- controllers: Houses backend route controllers for handling requests.
- middleware: Stores backend middleware functions.
- models: Contains MongoDB models for data schema definition.
- routes: Houses all backend route definitions.
- utils: Contains utility functions used in the backend code.
- server.js: Entry point for the backend server.
- test.js: Contains tests for backend functionality.
Usage Examples
Onboarding to Push Meets
Connect Wallet
To connect your wallet to Push Meets, follow these steps:
- Navigate to the Push Meets website.
- Click on the "Connect Wallet" button.
Initialize Push (Sign Message)
To initialize Push and sign a message for authentication, follow these steps:
After connecting your wallet, click on the "Initialize Push" option.
Sign the message using your wallet's authentication method.
Push Meets will verify the signed message and authenticate your wallet.
Creating a Meeting
To create a meeting on Push Meets, follow these steps:
Select the contacts you want to invite to the meeting.
Fill out the meeting form with the desired date and time.
Click on the "Create Meeting" button to finalize the process.
Creating an Instant Meeting
To create an instant meeting on Push Meets, follow these steps:
- Enter the recipient's wallet address.
- Toggle the option to create an instant meeting.
- Click on the "Create Meeting" button to initiate the instant meeting.
Editing or Deleting a Meeting
To edit or delete a meeting on Push Meets, follow these steps:
Navigate to the meeting you want to edit or delete.
Click on the three-dot menu icon associated with the meeting.
Select the appropriate option to edit or delete the meeting.
Follow the on-screen prompts to make changes or confirm deletion.
By following these usage examples, users can seamlessly navigate Push Meets and leverage its features for efficient collaboration and communication.