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.
The project is divided into four (4) sections:
frontend-rn
(mobile frontend)backend-express
(core backend)backend-rasa
(nlu backend)frontend-web
(app landing)
Follow the steps below to set up the project locally
- Clone repo:
[HTTPS] - git clone [email protected]:IamGideonIdoko/dentbud.git
[SSH] - git clone https://github.com/IamGideonIdoko/dentbud.git
- Install
frontend-rn
dependencies:
make frontend-rn-deps
- Install
backend-express
dependencies:
make backend-express-deps
-
Install
backend-rasa
dependenciesi. Create a conda environment
make conda-env
ii. Activate created conda environment
conda activate rasa_env
iii. Update your
pip
package managerconda activate rasa_env
iv. Install dependencies
make backend-rasa-deps
v. Add spacy model to environment
make backend-rasa-spacy-model
-
Create a MongoDB admin user if you don't have one
db.createUser({user:"admin", pwd:"notmypassword", roles:[{role:"root", db:"admin"}]})
-
Create two (2) MongoDB databases
dentbud_tracker_store
(NLU bot memory)dentbud_core_db
-
Set up
.env
infrontend-rn
and update with neccessary details
make frontend-rn-env
- Set up
.env
inbackend-express
and update with neccessary details
make backend-express-env
- Set up
.env
inbackend-rasa
and update with neccessary details
make backend-rasa-env
- In a conda activated
rasa_env
environment terminal, train NLU model
cd backend-rasa && make train
- In a conda activated
rasa_env
environment terminal and in thebackend-rasa
directory, startbackend-rasa
server
make server
- In a new terminal, start
backend-express
server
make backend-express-server
- In a new terminal, start
frontend-rn
metro server
make frontend-rn-server
-
In a new terminal, initialize
frontend-rn
debug app-
android
make frontend-rn-android
-
ios
make frontend-rn-ios
-
lv-0-20221219102618_fwi5NCdZ.mp4
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.