Skip to content

NjeriCodeCraft/Booking_Bot

Repository files navigation

FundiFix Booking Bot

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.


🚀 Features

  • 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.

🛠️ Tech Stack

  • Frontend: HTML, Tailwind CSS, Vanilla JS
  • Backend: Node.js, Express.js
  • Database: Supabase (PostgreSQL)
  • Bot: Telegram Bot API (node-telegram-bot-api)

⚡️ Quick Start

1. Clone the Repo

git clone https://github.com/NjeriCodeCraft/Booking_Bot.git
cd fundifix-booking-bot

2. Install Dependencies

npm install

3. Set Up Environment Variables

Create 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).

4. Start the Server

npm run dev

5. Open the App

Visit the local server URL to access the welcome and booking form (e.g., http://localhost:3000/welcome.html).


📝 Usage Guide

For Clients

  1. Go to the welcome page.
  2. Start the FundiFix bot on Telegram and get your Telegram ID (via @userinfobot).
  3. Fill out the booking form with your details and Telegram ID.
  4. Receive booking updates, payment prompts, and review requests directly in Telegram.

For Fundis/Freelancers

  • Receive booking notifications in Telegram.
  • Accept/decline jobs, mark work as finished, confirm payment, and receive client reviews—all from Telegram.

📦 Project Structure

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

🌍 Environment Variables

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

📸 Demo Preview

Coming soon: [Loom video or YouTube link]
For now, check /screenshots/ folder for sample booking flows.


🙏 Credits


📄 License

MIT

About

FundiFix is an AI-powered scheduling assistant for local service providers (fundis & freelancers) to manage client appointments effortlessly.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors