This is a real-time chat application built using React, Firebase, and Redux. It allows users to sign up, log in, send and receive messages, and manage their chats.
- User Authentication (Sign Up, Log In)
- Real-time Messaging
- Emoji Picker Integration
- File and Media Uploads
- Audio Message Recording and Playback
- User Profile Management
- Chat Search
- Contact List Management
- Online Status and Last Seen
- Frontend: React, Redux, Material Tailwind
- Backend: Firebase (Authentication, Firestore, Storage)
- Deployment: Vite
react: For building the user interfaceredux: For state managementreact-redux: To connect React components with Reduxfirebase: For backend servicesmaterial-tailwind: For UI componentsreact-icons: For iconographyemoji-picker-react: For emoji selectionwavesurfer.js: For audio waveform visualization
- Clone the repository:
git clone https://github.com/eric-muganga/SignalShift.git cd SignalShit - Install dependencies:
npm install
- Create a .env file in the root directory and add your Firebase configuration:
VITE_API_KEY=your-api-key VITE_AUTH_DOMAIN=your-auth-domain VITE_PROJECT_ID=your-project-id VITE_STORAGE_BUCKET=your-storage-bucket VITE_MESSAGING_SENDER_ID=your-messaging-sender-id VITE_APP_ID=your-app-id - Run the application:
npm run dev