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