A mobile-friendly Rule-Based Chatbot built using React Native (Expo) for the frontend and Express.js for the backend. This chatbot responds to predefined patterns and keywords to simulate a conversation without relying on third-party APIs.
- 📋 Rule-based logic with keyword detection
- 🔄 Real-time messaging experience
- ⚡ Lightweight and fast responses
- 📲 Mobile UI built using React Native (Expo)
- 🧠 No external APIs — everything is handled internally
- Frontend: Expo (React Native)
- Backend: Express.js
- Communication: RESTful API between frontend and backend
- Language: JavaScript (Node.js & React Native)
Make sure you have the following installed:
- Node.js & npm
- Expo CLI (
npm install -g expo-cli) - Git
git clone https://github.com/Sumairahafeez/Chatbot.git
cd Chatbotcd backend
npm install
node server.jsBy default, the backend runs on
http://localhost:3000
In a new terminal window:
cd frontend
npm install
expo startScan the QR code with the Expo Go app or run it on an emulator.
Chatbot/
├── backend/
│ ├── server.js
│ └── chatbotLogic.js
├── frontend/
│ ├── App.js
│ ├── assets/
│ ├── components/
│ └── screens/
├── screenshots/
│ ├── LogInUI.jpg
│ ├── SignUpUI.jpg
│ ├── HomeUI.jpg
│ └── chatUI.jpg
└── README.mdreact-nativeaxiosexporeact-navigationreact-native-gesture-handlerreact-native-reanimated
Add other dependencies if you’re using additional libraries like
formik,yup, etc.
expresscorsbody-parser(optional)
To create a production-ready build of your app:
expo build:androidOr for EAS Build:
eas build --platform androidYou can download the latest build here:
- User messages are sent from the frontend to the Express.js backend.
- The backend matches keywords or phrases against a rule-based logic file (
chatbotLogic.js). - The matched response is sent back to the frontend to be displayed.
- 📝 Add more conversational rules and conditions
- 🌍 Support for multiple languages
- 🗃️ Save chat history with local storage or database
- 🎤 Add voice input/output features
Made with ❤️ by Sumaira Hafeez



