GoBook is a next-generation travel booking platform that blends modern web technologies with AI microservices to deliver intelligent search, itinerary suggestions, price predictions, geo-insights, and conversational chatbot assistance.
Live Site: https://GoBook.com
- 🌐 Smart Search with NLP (Hotels & Flights)
- 🌍 Geo Intelligence with Map Insights & Sentiment
✈️ Price Prediction using AI/ML (Flights & Hotels)- 🧍️💻 AI Chatbot (Dialogflow)
- 🛅 Smart Itinerary Generator
- 📊 Modular Microservices Architecture
- ⛏ Built with React + Tailwind (Frontend), Go + Gin + MongoDB (Backend)
- 🤝 JWT Auth, Razorpay Payments, and Responsive UI
- Node.js 18+
- Go 1.23.4
- MongoDB 4.4+
- Python 3.9+ (for AI microservices)
git clone https://github.com/yourusername/gobook.git
cd gobooksudo systemctl start mongodcd gobook-backend
cp .env.example .env
# Add your MongoDB URI, JWT secret, and Dialogflow credentials path in .env
go mod tidy
go run main.gocd ../gobook-frontend
npm install
npm run devOpen http://localhost:5137 in your browser.
Vagrantfileprovision.shstart-all.sh
vagrant up
vagrant ssh
./start-all.shEach microservice is inside /microservices/
cd microservices/itinerary-service
go run main.go # Port: 8002cd microservices/price-prediction-service
pip install -r requirements.txt
python app.py # Port: 8003cd microservices/geo-api
go run main.go # Port: 8004docker-compose up --buildEach microservice has its own Dockerfile. Adjust .env, ports, and volumes in docker-compose.yml.
- Launch EC2 Instance
- Install Docker and Docker Compose
- Clone Repo and Run Docker Compose
- Setup MongoDB (Atlas or EC2)
- Point GoDaddy domain to EC2 Public IP via A record
-
Go to DNS settings
-
Add A Record:
@->Render Public IP- Or add CNAME for subdomain
- Go to your service > Settings > Custom Domain
- Add domain (e.g.,
gobook.yourdomain.com) - Verify and Deploy
| Service | Endpoint | Method | Description |
|---|---|---|---|
| User | /api/user/register |
POST | Register user |
| Auth | /api/user/login |
POST | Login and return JWT |
| Flights | /api/flights/search |
GET | Search flights |
| Hotels | /api/hotels/search |
GET | Search hotels |
| Itinerary | /api/itinerary/suggest?userId=... |
GET | Suggest trips |
| Price AI | /api/predict/flight |
POST | Predict flight price |
| Price AI | /api/predict/hotel |
POST | Predict hotel price |
| Geo | /api/hotels/:id/details |
GET | Get POIs and sentiment |
| Chatbot | /api/chatbot |
POST | Ask chatbot |
Pull requests and feature suggestions are welcome!
❤️Thankyou