BlockBot.io
A web application for building chat bots.
Meeting Minutes
Project team meeting minutes can be found here.
Project Structure
This project is an ASP.NET Core MVC web application hosted on AWS Elastic Beanstalk. When a user sets up an integration and creates a project, specific code for interacting with that integration is created as an AWS Lambda function. A diagram of how the application works is here. Below is a description of each part of this project.
- BlockBot.AwsServices/ - C# class library for Amazon Web Services helper classes
- BlockBot.Tests/ - MsTest unit tests
- BlockBot.Web/ - ASP.NET Core MVC web application
- BlockBot.Web/closure-library/ - Google's common JavaScript library, used by google-blockly
- BlockBot.Web/google-blockly/ - Node.js library for a web-based visual programming editor
First Time Install Instructions
This project assumes the developer is working on a Windows operating system, and ideally that the developer is working on Windows 10 or later.
- Ensure you have the following software installed:
- Clone this repo to your local machine
- Navigate to
BlockBot.Web/closure-library
and run npm install
- Navigate to
BlockBot.Web/google-blockly/
and run npm install
- Open
FundamentalsChatbot.sln
in Visual Studio
- Configure the application's database:
- Open the Package Manager Console:
Tools > NuGet Package Manager > Package Manager Console
- To delete an existing version of the database, run the
drop-database
command.
- To creates a new, empty version of the database with the appropriate schema, run the
update-database
command.
- Ensure the
BlockBot.Web
project is the startup project:
- In the solution explorer, the current startup project has a bold project name
- To set a project as the startup project, right-click the project in the solution explorer and select
Set as StartUp Project
- To start the project, click the green play icon in the top middle of the Visual Studio window. The first time this is done, Visual Studio will likely spend several minutes copying files and building the solution.
- A browser should open and the site will open in a tab. This project uses HTTPS by default, so security errors may occur if your browser doesn't trust the certificate used for local development. Follow the appropriate steps for your browser to trust this certificate and visit the web page.
Making Changes to this Project
This project does not allow people to push code to the develop or master branches. Instead, changes should be made by getting the latest version of develop, branching off of develop to a separate branch, making changes on the separate branch, and pushing the separate branch to this repository. Then, pull requests should be made to merge those changes into develop. Changes are merged from develop to master during software releases.
Additional Resources
All additional documentation for this project is available under the project wiki.
Resources for Google Blockly can be found on the Blockly project page.
This project integrations with a number of web services, resources for which can be found below:
- Amazon Web Services
- Twilio: TODO
- Facebook Messenger: TODO
- Twitter: TODO
- Reddit: TODO
- Slack: TODO
- Google Calendar: TODO