π An intelligent AI-powered personal assistant that combines seamless voice recognition, context-aware memory, and conversational charm to enhance productivity and simplify daily tasks.
- π Installation
- π» Usage
- β¨ Features
- π Folder Structure
- π οΈ Tech Stack
- π€ Contributing
- π License
- πΊοΈ Roadmap
- π Acknowledgements
Ensure you have the following installed on your system:
- Node.js (v16.0.0 or higher) - Download here
- npm (v7.0.0 or higher) - Comes with Node.js
- MongoDB - Installation Guide
- Git - Download here
-
Clone the repository
git clone https://github.com/H0NEYP0T-466/NeuralMate.git cd NeuralMate -
Install frontend dependencies
npm install
-
Install backend dependencies
cd backend npm install cd ..
-
Set up environment variables
cd backend cp .env.example .env # Edit .env file with your configuration: # - MongoDB connection string # - Gemini API key # - Server port (default: 8000)
-
Start the development servers
Terminal 1 - Backend:
cd backend npm startTerminal 2 - Frontend:
npm run dev
-
Open your browser
Navigate to
http://localhost:5173to start using NeuralMate!
-
Voice Commands: Click the microphone button and speak naturally
"Hello Isabella, how are you today?" "Can you help me organize my tasks?" "Review my latest project files" -
Text Input: Type your messages in the chat interface
Type: "What's the weather like?" Type: "Help me with my coding project" -
Project Analysis: Upload files or share code snippets for AI-driven feedback
Upload: project.zip Share: GitHub repository link
- Context Awareness: NeuralMate remembers your conversation history
- Multi-language Support: Communicate in your preferred language
- Task Automation: Set up recurring tasks and reminders
- Voice Synthesis: Listen to responses with natural speech
# Start a conversation
User: "Hey Isabella, I need help planning my day"
NeuralMate: "Good morning! I'd be happy to help you plan your day..."
# Get project feedback
User: "Can you review this React component?"
NeuralMate: "I'll analyze your code. Please share the component..."
# Set reminders
User: "Remind me to call mom at 6 PM"
NeuralMate: "I've set a reminder for 6 PM to call mom..."- ποΈ Voice Recognition - Natural speech input using Web Speech API
- π§ Context-Aware Memory - Remembers preferences and conversation history
- β‘ Real-Time Responses - Lightning-fast AI-powered replies
- π Task Automation - Automate repetitive tasks and workflows
- π οΈ Code Review - AI-driven project analysis and feedback
- π Intuitive UI - Clean, responsive design for all devices
- π Multi-language - Support for multiple languages
- πΎ Persistent Storage - MongoDB-backed conversation history
- π Speech Synthesis - Natural voice responses
- π± Cross-Platform - Works on desktop and mobile browsers
NeuralMate/
βββ backend/ # Backend server implementation
β βββ config/ # Configuration and database setup
β β βββ DB.js # MongoDB connection configuration
β β βββ saveMessages.js # Message persistence utilities
β βββ controller/ # API route handlers and business logic
β β βββ controller.js # Main application controller
β βββ gemini/ # AI model integration layer
β β βββ ai.model.js # Gemini API integration and prompts
β βββ model/ # Database schemas and models
β β βββ user.model.js # User and message data models
β βββ .gitignore # Backend-specific ignore patterns
β βββ index.js # Express server entry point
β βββ package.json # Backend dependencies and scripts
β βββ package-lock.json # Backend dependency lock file
βββ public/ # Static assets and resources
β βββ assets/ # SVG icons and graphics
β β βββ react.svg # React logo
β βββ pic.jpg # Application icon/avatar
β βββ vite.svg # Vite logo
βββ src/ # Frontend React application
β βββ App.css # Main application styles
β βββ App.jsx # Root React component
β βββ index.css # Global CSS styles and variables
β βββ main.jsx # React application entry point
βββ .gitignore # Project-wide ignore patterns
βββ README.md # Project documentation (this file)
βββ eslint.config.js # ESLint configuration and rules
βββ index.html # HTML template and metadata
βββ package.json # Frontend dependencies and scripts
βββ package-lock.json # Frontend dependency lock file
βββ vite.config.js # Vite build tool configuration
- React (v19.1.1) - Modern UI library with hooks and context
- Vite (v7.1.0) - Lightning-fast build tool and dev server
- React Markdown - Rich text rendering for AI responses
- Axios - HTTP client for API communication
- Web Speech API - Browser-native voice recognition
- Node.js - JavaScript runtime for server-side development
- Express.js (v5.1.0) - Minimal and flexible web application framework
- MongoDB - NoSQL database for scalable data storage
- Mongoose (v8.17.1) - MongoDB object modeling for Node.js
- Google Gemini API - Advanced language model for intelligent responses
- Web Speech API - Cross-platform speech recognition
- MyMemory Translation API - Multi-language support
- ESLint - Code linting and quality enforcement
- Git - Version control and collaboration
- npm - Package management and script execution
We welcome contributions from developers of all skill levels! Here's how you can help make NeuralMate even better:
- Fork the repository on GitHub
- Clone your fork locally
git clone https://github.com/your-username/NeuralMate.git
- Create a feature branch
git checkout -b feature/amazing-new-feature
- Make your changes and commit them
git commit -m "Add amazing new feature" - Push to your fork
git push origin feature/amazing-new-feature
- Open a Pull Request with a clear description
- π Bug Reports: Use the issue template and provide detailed reproduction steps
- β¨ Feature Requests: Clearly describe the problem and proposed solution
- π Documentation: Help improve our docs and code comments
- π§ͺ Testing: Add tests for new features and bug fixes
- π¨ UI/UX: Enhance the user interface and experience
- Follow the existing ESLint configuration
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions small and focused
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2024 NeuralMate Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
- π Calendar Integration - Google Calendar and Outlook sync
- π Enhanced Multi-language - Support for 20+ languages
- π± Mobile App - React Native companion app
- β° Smart Reminders - Context-aware notification system
- π Code Debugging - Automated bug detection and fixes
- π¨ Theme Customization - Dark mode and custom themes
- π΄ Offline Mode - Local AI processing capabilities
- π Plugin System - Third-party integrations and extensions
- π€ Advanced AI - Multi-modal AI with image and document analysis
- π Smart Home Integration - IoT device control
- π§ Predictive Analytics - Proactive task suggestions
- π Enterprise Edition - Team collaboration features
We're grateful to the amazing open-source community and the following projects that make NeuralMate possible:
- π React Team - For the incredible UI library
- β‘ Vite - For the blazing-fast build tool
- π€ Google AI - For the powerful Gemini API
- π MongoDB - For the flexible database solution
- π§ Express.js - For the robust web framework
- π React Markdown - For beautiful text rendering
- π― Axios - For reliable HTTP requests
- π‘ All Contributors - Everyone who has contributed code, ideas, or feedback
- π Bug Reporters - Helping us improve and fix issues
- π Documentation Writers - Making the project accessible to everyone
- β Stargazers - Your support motivates us to keep building
Made with β€οΈ by H0NEYP0T-466