/be-dashboard-bert-faqclass

This is the backend for the dashboard of the BERT faq classification

Primary LanguageGoMIT LicenseMIT

BERT Faq Classification - dashboard backend

contributions welcome HitCount

Welcome in the repository of the back-end dashboard for the bert-faqclass project! This repository contains the code to set-up a dashboard backend to control the knowledge base of your AI chatbot.

Note: check out the use case description in this Medium article.

About the design pattern

The code relies on the Clean Architecture, described by Uncle Bob, based on the Dependency Rule. Citing Uncle Bob'b blog:

The concentric circles represent different areas of software. In general, the further in you go, the higher level the software becomes. The outer circles are mechanisms. The inner circles are policies.

Clean Architecture Code Design

The overriding rule that makes this architecture work is The Dependency Rule. This rule says that source code dependencies can only point inwards. Nothing in an inner circle can know anything at all about something in an outer circle. In particular, the name of something declared in an outer circle must not be mentioned by the code in the an inner circle. That includes, functions, classes. variables, or any other named software entity. By the same token, data formats used in an outer circle should not be used by an inner circle, especially if those formats are generate by a framework in an outer circle. We don’t want anything in an outer circle to impact the inner circles.

The code is inspired by Manuel Kiessling's blog example, 8 years old but still useful.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Before to install the software make sure you already have installed:

  • Golang: an open source programming language that makes it easy to build simple, reliable, and efficient software.

Local development and running tests

It's easy! In order to run the code on your local machine you have to run the following command:

go run main.go

Deployment and production build

To create a production build you need to run the following command:

go build main.go

Authors

  • Nicola Massarenti

License

This project is licensed under the MIT License - see the LICENSE.md file for details.