Skip to content

Latest commit

 

History

History
146 lines (101 loc) · 6.13 KB

README.md

File metadata and controls

146 lines (101 loc) · 6.13 KB

Jarvis-Personal-Linux-Assistant

Build Status

dfsdf

Introduction

The project aims to develop a personal-assistant for Linux-based systems. Jarvis draws its inspiration from virtual assistants like Cortana for Windows, and Siri for iOS. It has been designed to provide a user-friendly interface for carrying out a variety of tasks by employing certain well-defined commands. Users can interact with the assistant either through voice commands or using a keyboard input.

Update with the project

The project service has been revamped using NodeJS. To have a look on the project and start contributing visit the branch node-master branch in the same repository or click here.

Getting Started

To know the steps to install and run the project see INSTALL.md

Starting Jarvis in development mode

Installation:

  1. Install all dependencies: make install-all

Update dependencies: make update

Run Jarvis:

  1. Run service: make run
  2. Run the desktop app: make views

To get started with your contributions for Jarvis-personal-assistant see CONTRBUTING.md

Explanatory Video

Jarvis explanatory video

What Jarvis can do?

As a personal assistant, Jarvis assists the end-user with day-to-day activities like general human conversation, searching queries in google, bing or yahoo, searching for videos, retrieving images, live weather conditions, word meanings, searching for medicine details, health recommendations based on symptoms and reminding the user about the scheduled events and tasks. The user statements/commands are analysed with the help of machine learning to give an optimal solution.

Desktop Application

Introduction

The project aims to develop a personal-assistant for Linux-based systems. Jarvis draws its inspiration from virtual assistants like Cortana for Windows, and Siri for iOS. It has been designed to provide a user-friendly interface for carrying out a variety of tasks by employing certain well-defined commands.

This is the desktop version of jarvis personal assistant. Click here to view the repository of server.

Installation Instructions

🔧 Techology stack

  • Frontend AngularJS,ElectronJS

🚀 Features

Queries from web
In order to make queries from different search engines, the given format should be adopted. For making queries from google Google your query
Similarly for yahoo and bing.
i.e. google APJ Abdul Kalam

Accessing youtube videos
In order to access videos from youtube format is,
Youtube “video you want to search for”
i.e. youtube Sandeep Maheshwari

Get weather for a location
To get the weather at any location format is,
Weather city state
i.e. weather Bhubaneswar Odisha

Retrieve images
For retrieving images format is,
Image “image you want to search”
i.e. image "M S Dhoni"

Dictionary meaning
For getting meaning of a word format is,
meaning "word you are searching for"
i.e. meaning ecstasy

Get medicine details
For getting details about any specific medicine, format is
medicine "name of the medicine"
i.e. medicine paracetamol

Retrack causes of symptoms
For retracking causes of symptoms, format is
symptoms "disease/ailment"
i.e. symptoms headache

Set Reminders
In order to set reminder type
set reminder
and fill in the necessary details.
i.e. set reminder

Sending Emails
In order to send email, format is
send email
and fill in the necessary details to send the email.
i.e. send email

Deploy at heroku
In order to deploy, the github repo should be provided with proper Procfile config,
deploy
i.e. deploy move-hack-angular

Medicine Details
Get the complete details of the medicine, including :

  1. Indications
  2. Contradictions
  3. Trade/Brand Names
  4. Indications
  5. Dosage
  6. Process of consumption
  7. Warnings and Precautions related to the medicine
  8. Storage conditions

Medicine Help based on symptoms
List your noticed symptoms and get immediate help on the medicines that could be taken.

DFD explaining the data flow in the software:

DFd expalining data flow

🔧 Tech Stack

  • Front-end: Web: AngularJS, Desktop App: Electron + AngularJS
  • Back-end: GoLang

💻 Postman Documentation

Postman is a powerful HTTP client for testing web services. Postman makes it easy to test, develop and document APIs by allowing users to quickly put together both simple and complex HTTP requests.
Test the current APIs of Jarvis mentioned here on Postman - Postman Link

🏆 Achievements

Jarvis-personal-assistant has been selected many times in various coding programmes like

KWoC-2019 (Kharagpur Winter of Code)

JMoC-2019 (JIIT Month of Code)

GSSoC-2020 (GirlScript Summer of Code)