Exploring AI-assisted programming by interacting with online services using Python. The project experiments with automation of the search process in Medicover by providing a multi-user platform with a WebUI. The app sends real-time Firebase push notifications when appointments become available.
Use this template to expose medibot on port 3333
services:
medibot:
image: atais/medibot:latest
container_name: medibot
ports:
- "3333:8000"
volumes:
- /your/path/medibot.sqlite:/app/medibot.sqlite
- /your/path/firebase-service-account.json:/app/firebase-service-account.json
- /your/path/.env:/app/.env
restart: unless-stopped
- Copy
.env.exampleas.env - Fill with your values
To enable push notifications, you need to set up Firebase Cloud Messaging (FCM):
- https://console.firebase.google.com/
- Create a Firebase Project
- Generate Service Account Key, place
firebase-service-account.jsonin the project root - Get Web App Configuration, update
.envwith your configuration. - Generate VAPID Key, update it in
.env - Enable Notifications in Browser
first time:
npm install
npm run build
python3.13 -m venv .venv
pip install -r requirements.txt
venv:
source .venv/bin/activate
deactivate
start server from code
python app.py
If you change JS or CSS, rebuild the frontend with npm run build!
docker build -t medibot .
docker run --rm -p 3333:8000 -v /local/medibot.sqlite:/app/medibot.sqlite --name medibot medibot
Folder contains helpers to generate:
static/locations.jsonstatic/specialities.json
files. Their content should contain all the available options.
If it does not, this approach allows for manual fixes 😄.
This project is licensed under the MIT License, one of the most permissive open-source licenses. You are free to use, modify, and distribute this software with minimal restrictions. See the LICENSE file for details.
This project is provided for educational and personal use only. It is not affiliated with, endorsed by, or associated with any third-party service. The authors make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability, or availability with respect to the project or the information, products, services, or related graphics contained in the project for any purpose. Any use of this software is at your own risk. The authors shall not be liable for any loss or damage, including without limitation, indirect or consequential loss or damage, or any loss or damage whatsoever arising from loss of data or profits arising out of, or in connection with, the use of this software.