https://ruby-complaint-management-system.vercel.app/ Ruby Complaint App is an advanced, AI-powered complaint management system built with Next.js. It leverages cutting-edge technologies to streamline the process of handling and analyzing customer complaints.
- 🔐 Secure user authentication
- 📝 Multi-modal complaint submission (text, voice, image, video)
- 🤖 AI-powered complaint analysis using OpenAI's GPT models
- 🔊 Text-to-speech functionality with Google Cloud API
- 📊 Real-time dashboard with complaint statistics
- 🔄 Real-time database updates with Firebase
- Frontend: Next.js, React, Material-UI
- Backend: Next.js API routes
- Database: Firebase Firestore
- Authentication: Firebase Auth
- AI/ML: OpenAI API, Google Cloud Text-to-Speech API
- File Handling: react-dropzone, multer
-
Clone the repository
git clone https://github.com/your-username/ruby-complaint-app.git cd ruby-complaint-app -
Install dependencies
npm install -
Set up environment variables
Create a
.env.localfile in the root directory with the following variables:OPENAI_API_KEY=your_openai_api_key GOOGLE_APPLICATION_CREDENTIALS=path_to_your_google_credentials_json NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id NEXT_PUBLIC_FIREBASE_APP_ID=your_firebase_app_id -
Run the development server
npm run dev -
Open http://localhost:3000 in your browser.
src/app: Next.js app router pagessrc/components: Reusable React componentssrc/lib: Utility functions and configurationssrc/pages/api: API routes for server-side operations
The app uses OpenAI's GPT models to analyze complaints. The analysis process is implemented in:
src / lib / complaintAnalysis.js;User authentication is handled using Firebase Auth. The authentication context is set up in:
javascript:src/lib/AuthContext.js
The main dashboard component, displaying complaint statistics and management features, can be found in:
javascript:src/app/dashboard/page.js
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License.