Skip to content

IamGideonIdoko/dentbud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dentbud

Dentbud is a mobile-based smart personal assistant (SPA) for students. It's specially built to help students better manage their time and activities. It is built with React Native, Node.js (Express) and the Rasa Python Framework.

Dentbud

Project Structure

The project is divided into four (4) sections:

  1. frontend-rn (mobile frontend)
  2. backend-express (core backend)
  3. backend-rasa (nlu backend)
  4. frontend-web (app landing)

Getting Started

Follow the steps below to set up the project locally

  1. Clone repo:
[HTTPS] - git clone git@github.com:IamGideonIdoko/dentbud.git
[SSH] - git clone https://github.com/IamGideonIdoko/dentbud.git
  1. Install frontend-rn dependencies:
make frontend-rn-deps
  1. Install backend-express dependencies:
make backend-express-deps
  1. Install backend-rasa dependencies

    i. Create a conda environment

    make conda-env

    ii. Activate created conda environment

    conda activate rasa_env

    iii. Update your pip package manager

    conda activate rasa_env

    iv. Install dependencies

    make backend-rasa-deps

    v. Add spacy model to environment

    make backend-rasa-spacy-model
  2. Create a MongoDB admin user if you don't have one

       db.createUser({user:"admin", pwd:"notmypassword", roles:[{role:"root", db:"admin"}]})
  3. Create two (2) MongoDB databases

    • dentbud_tracker_store (NLU bot memory)
    • dentbud_core_db
  4. Set up .env in frontend-rn and update with neccessary details

make frontend-rn-env
  1. Set up .env in backend-express and update with neccessary details
make backend-express-env
  1. Set up .env in backend-rasa and update with neccessary details
make backend-rasa-env
  1. In a conda activated rasa_env environment terminal, train NLU model
cd backend-rasa && make train
  1. In a conda activated rasa_env environment terminal and in the backend-rasa directory, start backend-rasa server
make server
  1. In a new terminal, start backend-express server
make backend-express-server
  1. In a new terminal, start frontend-rn metro server
make frontend-rn-server
  1. In a new terminal, initialize frontend-rn debug app

    • android

        make frontend-rn-android
    • ios

      make frontend-rn-ios

Dentbud Architecture

Dentbud Architecture

Preview

lv-0-20221219102618_fwi5NCdZ.mp4

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Author

Gideon Idoko - iamgideonidoko@gmail.com