FundiFix is an AI-powered scheduling assistant for local service providers (fundis & freelancers) to manage client appointments effortlessly.
This MVP lets clients book services via a web form, and notifies fundis through a Telegram bot where they can accept, decline, and mark jobs as finished. Clients receive updates in real-time.
- Client Booking Form: Simple, mobile-friendly web form for clients to book services.
- Telegram Bot Integration: Fundis receive instant booking notifications and can accept/decline jobs directly in Telegram.
- Client Notifications: Clients receive real-time updates on booking status, payment, and can leave feedback via Telegram.
- Post-Service Flow: Clients are notified after job completion and prompted to confirm service or leave feedback. (Payment integration planned.)
- Supabase Backend: All bookings, statuses, and reviews are securely stored in Supabase.
- Frontend: HTML, Tailwind CSS, Vanilla JS
- Backend: Node.js, Express.js
- Database: Supabase (PostgreSQL)
- Bot: Telegram Bot API (
node-telegram-bot-api)
git clone https://github.com/NjeriCodeCraft/Booking_Bot.git
cd fundifix-booking-botnpm installCreate a .env file in the project root with:
SUPABASE_URL=your-supabase-url
SUPABASE_KEY=your-supabase-anon-key
TELEGRAM_BOT_TOKEN=your-telegram-bot-token
TELEGRAM_CHAT_ID=your-fundi-telegram-id
- SUPABASE_URL / KEY: From your Supabase project settings.
- TELEGRAM_BOT_TOKEN: From @BotFather on Telegram.
- TELEGRAM_CHAT_ID: Your fundi's Telegram numeric user ID (from @userinfobot).
npm run devVisit the local server URL to access the welcome and booking form (e.g., http://localhost:3000/welcome.html).
- Go to the welcome page.
- Start the FundiFix bot on Telegram and get your Telegram ID (via @userinfobot).
- Fill out the booking form with your details and Telegram ID.
- Receive booking updates, payment prompts, and review requests directly in Telegram.
- Receive booking notifications in Telegram.
- Accept/decline jobs, mark work as finished, confirm payment, and receive client reviews—all from Telegram.
booking-bot/
├── bot.js # Telegram bot logic
├── controllers/
│ └── bookingController.js
├── public/
│ ├── welcome.html # Welcome/Onboarding page
│ └── booking-form.html
├── routes/
│ └── bookings.js
├── supabaseClient.js
├── index.js # Express server entry
├── package.json
└── README.md
| Variable | Description |
|---|---|
| SUPABASE_URL | Your Supabase project URL |
| SUPABASE_KEY | Supabase anon/public key |
| TELEGRAM_BOT_TOKEN | Telegram bot token from BotFather |
| TELEGRAM_CHAT_ID | Fundi's Telegram numeric user ID |
Coming soon: [Loom video or YouTube link]
For now, check/screenshots/folder for sample booking flows.
- Built by Faith Njeri for the Vibe Coding Hackathon 2.0
- Powered by Supabase and Telegram Bot API.
MIT