Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joshuarabiu/omnus
React App inspired by Apple's Siri Personal Assistant
https://github.com/joshuarabiu/omnus
Last synced: about 2 months ago
JSON representation
React App inspired by Apple's Siri Personal Assistant
- Host: GitHub
- URL: https://github.com/joshuarabiu/omnus
- Owner: JoshuaRabiu
- License: mit
- Created: 2018-09-12T08:30:12.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-23T23:30:37.000Z (almost 2 years ago)
- Last Synced: 2024-05-27T12:12:18.410Z (7 months ago)
- Language: JavaScript
- Homepage: http://omnus.herokuapp.com/
- Size: 3.22 MB
- Stars: 7
- Watchers: 0
- Forks: 1
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Omnus
A web app inspired by Apple's Siri Personal assistant, powered by the [Wolfram Alpha Api](http://products.wolframalpha.com/api/).
![Omnus website](https://imgur.com/L5B8vGD.png)## Table of Contents
- [Built With](https://github.com/JoshuaRabiu/Omnus#built-with)
- [Features](https://github.com/JoshuaRabiu/Omnus#features)
- [Running the application](https://github.com/JoshuaRabiu/Omnus#running-the-application)
- - [Setup](https://github.com/JoshuaRabiu/Omnus#Setup)
- - [Running With Docker](https://github.com/JoshuaRabiu/Omnus#with-docker)
- - [Running Without Docker](https://github.com/JoshuaRabiu/Omnus#without-docker)
- [Running Tests](https://github.com/JoshuaRabiu/Omnus#running-tests)
- [License](https://github.com/JoshuaRabiu/Omnus#license)
- [Additional Attributions](https://github.com/JoshuaRabiu/Omnus#additional-attributions)## Built with
- [React JS](https://github.com/facebook/react)
- [Express JS](https://github.com/expressjs/express)
- [Docker](https://www.docker.com/)
- [Selenium Webdriver](https://www.seleniumhq.org/) - Integration Tests
- [Mocha](https://mochajs.org/),[Chai](http://www.chaijs.com/) & [SuperTest
](https://github.com/visionmedia/supertest#readme) - Unit Tests## Features
- Speech Recognition on Chrome for Desktop/Android (voice queries)
- Speaks results back to you (but not on iOS)
- Can answer general knowledge questions, obscure questions and do complex calculations ([capabilities directory](http://www.wolframalpha.com/examples/))## Running the application
### Setup
To run the application locally, you'll first need a Wolfram Alpha Api key. Get yours [here](https://products.wolframalpha.com/api/).
Once you have an api key, clone this repo:
```sh
git clone https://github.com/JoshuaRabiu/Omnus.git
```cd into the project directory
```sh
cd Omnus
```And create a `config.js` file in the root directory of the application. Paste your api key inside of the file like so:
```js
module.exports = {apiKey: 'yourApiKey'}
```Then refer to the following sections:
### Running With Docker
Build the Docker image using the local dockerfile
```sh
docker build -t JoshuaRabiu/omnus .
```Then, run the following commands, replacing PORT_NUMBER with the port you want the application to run on locally:
```sh
docker run -p $PORT_NUMBER:8000 JoshuaRabiu/omnus
```For regular Docker users, the app will be running on
```sh
localhost:$PORT_NUMBER
```For Docker Machine users, it will run on
```sh
$DOCKER_IP:$PORT_NUMBER
```To find your Docker Macine IP, run this command:
```sh
docker machine ip
```### Running Without Docker
Install the dependencies:
```sh
yarn
```Then start the Express Server:
```sh
yarn start
```Then, open a new terminal tab/window in the same directory and `cd` to the react subfolder like so:
```sh
cd client
```Install the dependencies:
```sh
yarn
```Then start the react app:
```sh
yarn start
```## Running Tests
Omnus's test suite is composed of Selenium Webdriver, Mocha, Chai and SuperTest and includes both Integration/e2e testing and unit tests.Tests are run with the following command:
```sh
mocha
```Which should output the following, given that everything works:
![Omnus Tests](https://i.imgur.com/bpjSPeu.png)
## License
Omnus is licensed under the [MIT](https://github.com/JoshuaRabiu/Omnus/blob/master/LICENSE) license.
## Additional Attributions
- [Wolfram Alpha Api](http://products.wolframalpha.com/api/)
- [Loading Spinner](https://codepen.io/mrrocks/pen/EiplA)
- [Pulse Animation](https://codepen.io/seansean11/pen/dhwzj)
- [SweetAlert](https://sweetalert.js.org/)
- [Speech Synthesis Chunker](https://gist.github.com/hsed/ef4a2d17f76983588cb6d2a11d4566d6)
- Icons: [Mic](https://www.flaticon.com/free-icon/microphone-black-shape_25682#term=mic&page=1&position=1) | [Arrow](https://www.flaticon.com/free-icon/left-arrow_61752#term=back%20arrow&page=1&position=17)