This project is a collaboration between SDS Team 5 (Innovate), Being Bridges, and Google, as part of SUTD Service Design Studio 2023 Fall Term.
As a trainer, currently, I have to spend excessive time and effort addressing learner’s repetitive knowledge-based questions in order to move on to skill-based learning.
As a learner, currently, I have to wait till the actual training day in order to ask any questions I may have in order to build enough confidence to move on to skill-based learning.
Our solution takes on a two-pronged approach:
- A by-session FAQ that allows trainers to curate a set of commonly asked questions and answers for students to refer to.
- An inter-faith focused chatbot that allows students to get quick answers to their questions.
- Make sure Ruby is installed. You can run
ruby --version
to check if you have an appropriate version installed. Currently, I'm using 2.7.8 - Bundler. Check bundler is installed by
bundler -v
. I'm using 2.1.4 - Postgres should be installed.
postgres -V
- Rails.
rails -v
. I'm using 7.0.2.2
- Clone the repo and cd into this directory
- Install the required gems.
bundle install
- go to config and create the file
master.key
and get the master key - Set up the database, load the schemas and seed the database.
bundle e rails db:setup
- Run
bundle e rails db:migrate
if there are necessary migrations rails server
to start the server
- Node.js
- Yarn
cd
into thetrainer-frontend
directory- Run
yarn install
to install dependencies - Populate the
.env
files with the required environment variables - Run
yarn start
to start the development server
cd
into thetrainer-frontend
directory- Run
yarn install
to install dependencies - Populate the
.env
files with the required environment variables - Run
yarn start
to start the development server
Uses flask. Make sure Python is installed.
cd
into thechatbot
directorypip install -r requirements.txt
python main.py
We have various tests for our frontend and backend.
Our Rails application is tested using MiniTest, comprising unit and integration tests.
To run the tests, run rails test
in the faqapi
directory.
To view the test coverage, run open coverage/index.html
in the faqapi
directory (using SimpleCov)
Uses Cypress for component-level unit testing.
To run the tests, run yarn cypress
in the trainer-frontend
directory.
Run pytest
in the chatbot
directory.
Using Cucumber and Selenium for end-to-end, user acceptance testing.
All our tests and stored in the 'tests' directory.
View all our features at tests/features
.
- cd into the
tests
directory - Run
yarn
to install dependencies - Run
yarn cucumber
to run the tests, oryarn cucumber --tags @tagname
to run tests with a specific tag