A chatbot that is able to parse jsonl
files and responds to questions. The tech stack is as follows
- Flask: to create the api rest endpoints
- Mongo: for the databse
- Telegram: internal connection to the api
- Docker compose: to connect everything together
- NGINX: reroute flask to port 80
the flask endpoint will be visible at http://localhost/
To get a local copy up and running, follow these steps:
- Clone the repository
git clone <repository-link>
- Navigate to the project directory
cd <project-directory>
- Create .env file and add required environment variables
touch .env
# Open the .env file and add environment variables
- Use Docker Compose to boot up services
docker-compose up
To use the application, you can access the listed API endpoints from the base URL: http://localhost/
. Replace localhost with your server address if you're not testing locally.
- Ask:
/ask
- Users:
/users
- Telegram:
/telegram/ask
- Review:
/review
The project uses Docker Compose to spin up the following services:
web
: an Nginx server that directs traffic to the backendbackend
: the main application server that handles client requeststelegram_bot
: a Telegram bot that sends and receives messagesmongo
: a MongoDB server for data persistencemongo-express
: a web-based MongoDB admin interface