Harkishen-Singh / Jarvis-personal-assistant

Comfort of a personal assistant for Linux systems. Currently features native google, yahoo, bing searches, weather conditions, videos from youtube and looking up for images as well, all in a very reliable structure and UI.
45 stars 45 forks source link
angular golang gssoc gssoc20 jarvis jarvis-personal-assistant linux medicine-details modular personal-assistant weather-conditions

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.

Deployment

The backend has been deployed in Heroku.

The link to the API for GoLang based service is:

https://assistant-jarvis.herokuapp.com/

The link to the API for Node based service:

https://assistant-jarvis-node.herokuapp.com/

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

:wrench: Techology stack

:rocket: 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

:wrench: Tech Stack

:trophy: 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)