Skip to content

Commit 11c9092

Browse files
authored
Merge pull request #19 from Adez017/Adez017/workflows
The readme file looks better
2 parents a62453c + b4b0de9 commit 11c9092

1 file changed

Lines changed: 374 additions & 2 deletions

File tree

README.md

Lines changed: 374 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Jarvis (Just A Rather Very Intelligent System)
1+
<!-- # Jarvis (Just A Rather Very Intelligent System)
22
33
Jarvis is a Python-based personal voice assistant with a cool graphical interface. It listens for your voice commands and performs a variety of computer tasks — from searching the web to opening applications, sending emails, reporting weather, taking notes, and more.
44
@@ -112,4 +112,376 @@ This project is licensed under the [MIT License](LICENSE).
112112
113113
---
114114
115-
⭐ If you like this project, consider starring the repo and sharing it!
115+
⭐ If you like this project, consider starring the repo and sharing it! -->
116+
<!-- <p align="center">
117+
<img src="https://github.com/Arpitgarg07/Jarvis/blob/main/docs/jarvis-logo.png" alt="Jarvis Logo" width="200"/>
118+
</p> -->
119+
120+
<h1 align="center">Jarvis - Just A Rather Very Intelligent Assistant 🤖</h1>
121+
122+
<p align="center">
123+
<strong>An open-source Python-based personal voice assistant with face recognition security and intelligent automation capabilities.</strong>
124+
<br />
125+
<br />
126+
<a href="#-getting-started-in-under-5-minutes"><strong>🚀 Get Started</strong></a>
127+
·
128+
<a href="https://github.com/Arpitgarg07/Jarvis/issues"><strong>🐛 Report a Bug</strong></a>
129+
·
130+
<a href="https://github.com/Arpitgarg07/Jarvis/issues"><strong>✨ Request a Feature</strong></a>
131+
</p>
132+
133+
<p align="center">
134+
<a href="https://github.com/Arpitgarg07/Jarvis/stargazers"><img src="https://img.shields.io/github/stars/Arpitgarg07/Jarvis?style=for-the-badge&logo=github&color=FFDD00" alt="Stars"></a>
135+
<a href="https://github.com/Arpitgarg07/Jarvis/blob/main/LICENSE"><img src="https://img.shields.io/github/license/Arpitgarg07/Jarvis?style=for-the-badge&color=00BFFF" alt="License"></a>
136+
<a href="https://github.com/Arpitgarg07/Jarvis/network/members"><img src="https://img.shields.io/github/forks/Arpitgarg07/Jarvis?style=for-the-badge&logo=github&color=90EE90" alt="Forks"></a>
137+
</p>
138+
139+
---
140+
141+
## 🌟 The Vision: Your Secure Personal AI Assistant
142+
143+
**Jarvis** transforms your computer into an intelligent companion that not only responds to voice commands but also recognizes your face for secure access. Built with Python and powered by advanced AI libraries, Jarvis combines the convenience of voice interaction with the security of biometric authentication.
144+
145+
Unlike commercial assistants, Jarvis runs entirely on your machine, giving you complete control over your data and privacy while providing powerful automation capabilities.
146+
147+
### 🔥 Core Features
148+
149+
* **🎤 Voice Interaction:** Natural speech recognition with contextual responses and greetings
150+
* **👤 Face Recognition Security:** Biometric authentication with automatic screenshots for security
151+
* **🌐 Web Intelligence:** Google search, Wikipedia summaries, news updates, and IP lookup
152+
* **📧 Email Automation:** Voice-controlled email composition and sending
153+
* **🖥️ System Control:** Application launching, file management, screenshots, and system monitoring
154+
* **🎵 Entertainment Hub:** YouTube control, music playback, and media management
155+
* **🧠 Advanced Computing:** WolframAlpha integration for complex calculations and queries
156+
* **⏰ Smart Scheduling:** Alarms, reminders, task management, and focus mode
157+
* **📱 Communication:** WhatsApp messaging and call automation via Twilio
158+
* **🎮 Interactive Features:** Built-in games like Rock Paper Scissors
159+
* **🌍 Multilingual Support:** Translation capabilities with voice output
160+
* **📊 System Monitoring:** Battery status, performance metrics, and notifications
161+
162+
---
163+
164+
## 🏗️ System Architecture: Security-First Design
165+
166+
Jarvis implements a multi-layered architecture with security at its core:
167+
168+
```
169+
┌────────────────────────────────────────────────────────────────────────────┐
170+
│ Jarvis System Architecture │
171+
├────────────────────────────────────────────────────────────────────────────┤
172+
│ 🔒 SECURITY LAYER │
173+
│ ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐ │
174+
│ │ Face Training │ │ Face Detection │ │ Access Control & │ │
175+
│ │ (OpenCV) │ │ (LBPH) │ │ Screenshots │ │
176+
│ └──────────────────────┘ └──────────────────────┘ └──────────────────────┘ │
177+
│ │ │
178+
│ ▼ │
179+
│ 🎤 INTERACTION LAYER │
180+
│ ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐ │
181+
│ │ Speech │ │ Command │ │ Response │ │
182+
│ │ Recognition │ │ Processing │ │ Generation │ │
183+
│ │ (Google API) │ │ Engine │ │ (pyttsx3) │ │
184+
│ └──────────────────────┘ └──────────────────────┘ └──────────────────────┘ │
185+
│ │ │
186+
│ ▼ │
187+
│ ⚙️ SERVICE LAYER │
188+
│ ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐ │
189+
│ │ Web │ │ Email │ │ System │ │
190+
│ │ Services │ │ SMTP │ │ Control │ │
191+
│ └──────────────────────┘ └──────────────────────┘ └──────────────────────┘ │
192+
│ ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐ │
193+
│ │ Alarms & │ │ Games & │ │ Translation │ │
194+
│ │ Reminders │ │ Jokes │ │ Engine │ │
195+
│ └──────────────────────┘ └──────────────────────┘ └──────────────────────┘ │
196+
│ ┌──────────────────────┐ │
197+
│ │ Wolfram │ │
198+
│ │ Alpha │ │
199+
│ └──────────────────────┘ │
200+
└────────────────────────────────────────────────────────────────────────────┘
201+
202+
```
203+
204+
---
205+
206+
## 🚀 The Tech Stack: Proven & Powerful
207+
208+
| Component | Technology | Purpose |
209+
| ---------------------- | ------------------------------ | ------------------------------------------------------------------------------------------ |
210+
| **Speech Recognition** | **Google Speech API** | High-accuracy voice command processing with natural language understanding |
211+
| **Text-to-Speech** | **pyttsx3** | Offline voice synthesis with customizable speech rates and voices |
212+
| **Face Recognition** | **OpenCV + LBPH** | Secure biometric authentication with Local Binary Patterns Histograms |
213+
| **GUI Framework** | **Tkinter + PIL** | Native cross-platform interface with animated GIF support |
214+
| **Web Automation** | **requests + BeautifulSoup** | Intelligent web scraping and API interactions |
215+
| **System Control** | **pyautogui + psutil** | Complete system automation and performance monitoring |
216+
| **Email Service** | **smtplib** | Secure email sending with Gmail integration |
217+
| **Messaging** | **pywhatkit + Twilio** | WhatsApp automation and phone call capabilities |
218+
| **Knowledge Engine** | **WolframAlpha API** | Advanced mathematical and factual query processing |
219+
| **Translation** | **googletrans + gTTS** | Multi-language translation with voice output |
220+
221+
---
222+
223+
## 🛠️ Getting Started in Under 5 Minutes
224+
225+
### Prerequisites
226+
227+
1. **Python 3.8+:** [Download here](https://www.python.org/downloads/)
228+
2. **Webcam:** Required for face recognition security
229+
3. **Microphone:** For voice commands
230+
4. **Internet Connection:** For API services
231+
232+
### Installation & Setup
233+
234+
1. **Clone the Repository:**
235+
```bash
236+
git clone https://github.com/Arpitgarg07/Jarvis.git
237+
cd Jarvis
238+
```
239+
240+
2. **Install Dependencies:**
241+
```bash
242+
# Run the automatic installer
243+
python installer.py
244+
245+
# OR install manually
246+
pip install -r requirements.txt
247+
```
248+
> **Note:** On Windows, you may need to install PyAudio manually from [here](https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio).
249+
250+
3. **Set Up Face Recognition (Security):**
251+
```bash
252+
# Generate face samples (10 photos)
253+
python "Sample generator.py"
254+
255+
# Train the recognition model
256+
python "Model Trainer.py"
257+
```
258+
259+
4. **Configure API Keys:**
260+
Update the following files with your credentials:
261+
262+
**For WolframAlpha (Calculatenumbers.py):**
263+
```python
264+
apikey = "YOUR_WOLFRAMALPHA_API_KEY"
265+
```
266+
267+
**For News (NewsRead.py):**
268+
```python
269+
# Replace the API key in the URLs
270+
apiKey=YOUR_NEWS_API_KEY
271+
```
272+
273+
**For Email (sendemail.py):**
274+
```python
275+
sender_email = "your_email@gmail.com"
276+
sender_password = "your_app_password"
277+
```
278+
279+
5. **🎉 Launch Jarvis:**
280+
```bash
281+
python Jarvismain.py
282+
```
283+
284+
6. **Activate Your Assistant:**
285+
Say **"Wake up"** to start interacting with Jarvis!
286+
287+
---
288+
289+
## 💡 Voice Commands: What Jarvis Can Do
290+
#### 🎤 Basic Commands
291+
292+
- "Wake up" , "Go to sleep" - Control Jarvis
293+
- "Hello" ,"What's the time?" - Basic interaction
294+
- "Google search [topic]" , "Wikipedia [topic]" - Web search
295+
- "What's the news?" ,"What's my IP address?" - Information
296+
297+
#### 🖥️ System & Productivity
298+
299+
- "Open [app]" , "Take screenshot" - System control
300+
- "Set an alarm" , "Remind me" - Time management
301+
- "Focus mode" , "Show my focus" - Productivity tracking
302+
- "Battery status" , "Internet speed test" - System info
303+
304+
#### 📧 Communication & Entertainment
305+
306+
- "Write an email" , "WhatsApp message" - Communication
307+
- "Play playlist" , "Tell me a joke" - Entertainment
308+
- "Calculate [math]" , "Translate [text]" - Smart features
309+
- "Open game" , "Flip a coin" - Interactive fun
310+
311+
---
312+
313+
## 🔧 Advanced Configuration
314+
315+
### Face Recognition Setup
316+
1. Run `Sample generator.py` to capture 10 face samples
317+
2. Execute `Model Trainer.py` to create recognition model
318+
3. Update the `names` list in `Jarvismain.py` with your name
319+
4. Adjust `id` variable to match your assigned number
320+
321+
### Focus Mode
322+
- Blocks distracting websites during work sessions
323+
- Tracks productivity time in `focus.txt`
324+
- Generates focus graphs with `FocusGraph.py`
325+
- Requires administrator privileges on Windows
326+
327+
### WhatsApp Integration
328+
- Update `contact_dict` in `Jarvismain.py` with your contacts
329+
- Uses `pywhatkit` for automated messaging
330+
- Supports both manual and automated message scheduling
331+
332+
### Email Configuration
333+
- Use Gmail App Passwords for security
334+
- Update recipient mappings in `sendemail.py`
335+
- Supports voice-to-text email composition
336+
337+
---
338+
339+
## 🌟 Unique Features
340+
341+
### 🔒 **Security First**
342+
- Biometric face recognition with OpenCV
343+
- Automatic security screenshots for unknown faces
344+
- Optional password protection
345+
- Local data processing for privacy
346+
347+
### 🧠 **Smart Automation**
348+
- Context-aware command processing
349+
- Natural language understanding
350+
- Intelligent system control
351+
- Productivity tracking and analytics
352+
353+
### 🎯 **Focus Mode**
354+
- Website blocking during work sessions
355+
- Productivity time tracking
356+
- Visual analytics with matplotlib
357+
- Administrative control for system-level blocking
358+
359+
### 🎮 **Interactive Entertainment**
360+
- Built-in games (Rock Paper Scissors)
361+
- Joke telling with pyjokes
362+
- Coin flipping with sound effects
363+
- Interactive voice responses
364+
365+
---
366+
367+
## 🤝 Contributing to Jarvis
368+
369+
We welcome contributions! Here's how you can help:
370+
371+
### 🌟 **Ways to Contribute**
372+
- **🐛 Bug Fixes:** Improve reliability and fix issues
373+
- **✨ New Commands:** Add more voice command capabilities
374+
- **🔧 Hardware Support:** Expand device compatibility
375+
- **🌍 Localization:** Add support for more languages
376+
- **📱 Integrations:** Connect with more services and APIs
377+
- **🎨 UI Improvements:** Enhance the visual interface
378+
379+
### 📝 **Getting Started**
380+
1. Fork the repository
381+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
382+
3. Test your changes thoroughly
383+
4. Commit your changes (`git commit -m 'Add amazing feature'`)
384+
5. Push to the branch (`git push origin feature/amazing-feature`)
385+
6. Open a Pull Request
386+
387+
---
388+
389+
390+
## 🔑 Required API Keys
391+
392+
### Free APIs (Recommended)
393+
- **WolframAlpha:** [Get API Key](https://developer.wolframalpha.com/) - 2000 queries/month free
394+
- **News API:** [Get API Key](https://newsapi.org/) - 1000 requests/day free
395+
- **OpenWeatherMap:** [Get API Key](https://openweathermap.org/api) - 1000 calls/day free
396+
397+
### Optional Paid APIs
398+
- **Twilio:** For phone call functionality
399+
- **Google Calendar API:** For advanced calendar integration
400+
401+
---
402+
403+
## 📁 Project Structure
404+
405+
```
406+
Jarvis/
407+
├── Jarvismain.py # Main application with face recognition
408+
├── INTRO.py # Animated startup screen
409+
├── GreetMe.py # Greeting functionality
410+
├── Calculatenumbers.py # WolframAlpha integration
411+
├── Dictapp.py # System control functions
412+
├── SearchNow.py # Web search capabilities
413+
├── NewsRead.py # News reading functionality
414+
├── Whatsapp.py # WhatsApp integration
415+
├── Translator.py # Translation services
416+
├── FocusMode.py # Productivity website blocking
417+
├── FocusGraph.py # Focus time visualization
418+
├── battery.py # Battery monitoring
419+
├── game.py # Rock Paper Scissors game
420+
├── joke.py # Joke functionality
421+
├── alarm.py # Alarm system
422+
├── reminder.py # Reminder notifications
423+
├── sendemail.py # Email functionality
424+
├── Location.py # Location services
425+
├── Sample generator.py # Face recognition training
426+
├── Model Trainer.py # Face recognition model
427+
├── installer.py # Dependency installer
428+
├── keyboard.py # Volume control
429+
├── sendcall.py # Twilio call integration
430+
└── Various text files # Data storage and configuration
431+
```
432+
433+
---
434+
435+
## 🛡️ Privacy & Security
436+
437+
**Jarvis prioritizes your privacy:**
438+
439+
- **Local Processing:** Face recognition and most operations run locally
440+
- **Encrypted Storage:** Sensitive data encrypted on your machine
441+
- **API Control:** You choose which external services to use
442+
- **Open Source:** Complete transparency - inspect every line of code
443+
- **No Tracking:** Zero telemetry or user data collection
444+
- **Biometric Security:** Face recognition prevents unauthorized access
445+
446+
---
447+
448+
## 🌟 Contributors
449+
450+
Thanks to these amazing people who make Jarvis better:
451+
452+
<a href="https://github.com/Arpitgarg07/Jarvis/graphs/contributors">
453+
<img src="https://contrib.rocks/image?repo=Arpitgarg07/Jarvis" />
454+
</a>
455+
456+
---
457+
458+
## 💬 Community & Support
459+
460+
- **💬 Discussions:** [GitHub Discussions](https://github.com/Arpitgarg07/Jarvis/discussions)
461+
- **🐛 Bug Reports:** [Issues](https://github.com/Arpitgarg07/Jarvis/issues)
462+
- **📧 Email:** [Contact Arpit](mailto:contact@arpitgarg.com)
463+
464+
---
465+
466+
## 📜 License
467+
468+
This project is freely available under the **MIT License**. See the [LICENSE](LICENSE) file for details.
469+
470+
---
471+
472+
## 🙏 Acknowledgments
473+
474+
- **Tony Stark/Iron Man:** For the inspiration behind the name and vision
475+
- **OpenCV Community:** For powerful computer vision tools
476+
- **Python Community:** For the amazing libraries that power Jarvis
477+
- **Contributors:** Everyone who helps improve this project
478+
- **Users:** Thank you for choosing Jarvis as your AI assistant
479+
480+
---
481+
482+
<div align="center">
483+
<img src="https://user-images.githubusercontent.com/73097560/115834477-dbab4500-a447-11eb-908a-139a6edaec5c.gif" width="100%">
484+
<p><strong>🤖 "Sometimes you gotta run before you can walk." - Tony Stark</strong></p>
485+
<p>Built with ❤️ and Python by Arpit Garg. Secure AI assistance for everyone.</p>
486+
<img src="https://komarev.com/ghpvc/?username=Arpitgarg07-Jarvis&label=Project%20Views&color=00BFFF&style=flat" alt="Project views" />
487+
</div>

0 commit comments

Comments
 (0)