A web app inspired by Apple's Siri Personal assistant, powered by the Wolfram Alpha Api.
- React JS
- Express JS
- Docker
- Selenium Webdriver - Integration Tests
- Mocha,Chai & SuperTest - Unit Tests
- 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)
To run the application locally, you'll first need a Wolfram Alpha Api key. Get yours here.
Once you have an api key, clone this repo:
git clone https://github.com/JoshuaRabiu/Omnus.git
cd into the project directory
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:
module.exports = {apiKey: 'yourApiKey'}
Then refer to the following sections:
Build the Docker image using the local dockerfile
docker build -t JoshuaRabiu/omnus .
Then, run the following commands, replacing PORT_NUMBER with the port you want the application to run on locally:
docker run -p $PORT_NUMBER:8000 JoshuaRabiu/omnus
For regular Docker users, the app will be running on
localhost:$PORT_NUMBER
For Docker Machine users, it will run on
$DOCKER_IP:$PORT_NUMBER
To find your Docker Macine IP, run this command:
docker machine ip
Install the dependencies:
yarn
Then start the Express Server:
yarn start
Then, open a new terminal tab/window in the same directory and cd
to the react subfolder like so:
cd client
Install the dependencies:
yarn
Then start the react app:
yarn start
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:
mocha
Which should output the following, given that everything works:
Omnus is licensed under the MIT license.