Winston is your trusty slackbot here to service all your questions and needs.
At its very core, it's a simple key-value store backed by a mongo-database.
It's heavily under development, but winston uses Natural Language Processing under the hood to be a bit smarter.
Winston uses Prose V.2 to parse out relevant speech tokens and respond accordingly. Currently if you teach winston, "Can you tell me X", it's able to respond to "Do you know about X", "Where can I find info about X", "What is X" and a few other combinations with the same answer.
The project uses Golang for the API and MongoDB for the database.
All aspects of the application runs in Docker containers.
For local development, it's using Air for Live-reloading.
Here's a list of libraries that are being used:
To get started you need Docker and Docker-Compose installed.
Look at Makefile for more information. But you can get started by running make app
.
It will build the images, run the database and application container.
- The App container runs on Port 8080
- Mongo runs on port 27017
- Mongo Express runs on port 8081
P.S. I've been using this repo as an inspiration.
- Personality (Add some more human prompts to responses)
- Slash commands for slack
- Logo and branding
- Super easy to teach
- Website (AngularJS)
- Tests (Unit/EE)