Skip to content
Β 
Β 

Repository files navigation

🏰 MahaFort - Maharashtra Fort Guide

A stunning, professional web application showcasing 42+ Maharashtra forts with comprehensive information, interactive chatbot, and beautiful UI/UX.

MahaFort Banner React Node.js


🌟 Features

✨ Stunning UI/UX

  • Vibrant gradient designs with Marathi cultural theme
  • Animated backgrounds and smooth transitions
  • Premium fort cards with hover effects
  • Equal-sized hero containers with dramatic visuals
  • Responsive design for all devices

🏰 Comprehensive Fort Database

  • 42+ Maharashtra Forts with detailed information
  • Fort details: Location, difficulty, altitude, timings, entry fees
  • Historical significance and trekking routes
  • Search and filter by district and difficulty
  • Complete Sinhagad Fort itinerary

πŸ€– Bahirji Chatbot

  • Interactive AI assistant named "ΰ€¬ΰ€Ήΰ€Ώΰ€°ΰ₯ΰ€œΰ₯€ ΰ€¨ΰ€Ύΰ€ˆΰ€•" (Bahirji Naik)
  • Answers questions about forts, trekking, safety tips
  • Knowledge base covering major forts like Sinhagad, Raigad, Pratapgad
  • Beautiful chat interface with Marathi branding

πŸ“Š Statistics Dashboard

  • Total forts count
  • Districts covered
  • Easy trek recommendations
  • Average ratings

πŸš€ Quick Start Guide

Prerequisites

Make sure you have the following installed:

πŸ“₯ Step 1: Clone the Repository

git clone https://github.com/YOUR_USERNAME/MAHAFORT-GUIDE.git
cd MAHAFORT-GUIDE

🎯 Running the Application

Option 1: Frontend Only (Recommended for Quick Start)

The frontend works standalone with static fort data!

# Navigate to frontend directory
cd frontend

# Install dependencies (first time only)
npm install

# Start the development server
npm start

The app will open automatically at: http://localhost:3000


Option 2: Full Stack (Frontend + Backend)

If you want to run both frontend and backend:

Terminal 1 - Backend Server

# Navigate to backend directory
cd backend

# Install dependencies (first time only)
npm install

# Start backend server
npm start

Backend runs on: http://localhost:5000

Terminal 2 - Frontend Server

# Navigate to frontend directory
cd frontend

# Install dependencies (first time only)
npm install

# Start frontend server
npm start

Frontend runs on: http://localhost:3000


πŸ“ Project Structure

MAHAFORT-GUIDE/
β”œβ”€β”€ frontend/                 # React frontend application
β”‚   β”œβ”€β”€ public/              # Static files
β”‚   β”‚   └── index.html       # HTML template
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ assets/          # Images (shivaji.jpg, bahirji.jpg, mahalogo.jpeg)
β”‚   β”‚   β”œβ”€β”€ components/      # React components
β”‚   β”‚   β”‚   β”œβ”€β”€ Navbar.jsx           # Navigation bar with logo
β”‚   β”‚   β”‚   β”œβ”€β”€ FortCard.jsx         # Premium fort card component
β”‚   β”‚   β”‚   └── BahirjiChatbot.jsx   # AI chatbot component
β”‚   β”‚   β”œβ”€β”€ pages/           # Page components
β”‚   β”‚   β”‚   β”œβ”€β”€ Home.jsx             # Main landing page
β”‚   β”‚   β”‚   └── SinhagadItinerary.jsx # Sinhagad fort details
β”‚   β”‚   β”œβ”€β”€ data/
β”‚   β”‚   β”‚   └── staticForts.js       # 42+ fort database
β”‚   β”‚   β”œβ”€β”€ services/        # API services
β”‚   β”‚   └── App.js           # Main app component
β”‚   └── package.json         # Frontend dependencies
β”‚
β”œβ”€β”€ backend/                 # Node.js backend (optional)
β”‚   β”œβ”€β”€ server.js           # Express server
β”‚   β”œβ”€β”€ data/               # Fort data files
β”‚   └── package.json        # Backend dependencies
β”‚
└── README.md               # This file

🎨 Key Technologies

Frontend

  • React 18 - UI framework
  • React Router - Navigation
  • Tailwind CSS - Styling
  • React Icons - Icon library

Backend (Optional)

  • Node.js - Runtime
  • Express - Web framework
  • MongoDB - Database (if configured)

πŸ› οΈ Development Guide

Making Changes

  1. Edit Fort Data: Modify frontend/src/data/staticForts.js
  2. Update UI: Edit components in frontend/src/components/
  3. Add Pages: Create new pages in frontend/src/pages/
  4. Styling: Use Tailwind CSS classes

Adding New Forts

Edit frontend/src/data/staticForts.js:

{
  _id: 'fort-id',
  name: 'Fort Name',
  location: { district: 'District Name' },
  difficulty: 'Easy/Moderate/Hard',
  description: 'Fort description...',
  images: ['image-url'],
  rating: 4.5,
  bestTimeToVisit: 'October to March',
  entryFee: 'Free',
  timings: '6:00 AM - 6:00 PM',
  altitude: '1000 m',
  historicalSignificance: 'Historical info...'
}

πŸ› Troubleshooting

Port Already in Use

# Kill process on port 3000 (Windows)
netstat -ano | findstr :3000
taskkill /PID <PID> /F

# Kill process on port 3000 (Mac/Linux)
lsof -ti:3000 | xargs kill -9

Dependencies Issues

# Clear npm cache
npm cache clean --force

# Delete node_modules and reinstall
rm -rf node_modules package-lock.json
npm install

Image Not Loading

  • Make sure images are in frontend/src/assets/ folder
  • Check import paths are correct
  • Restart development server

πŸ“¦ Building for Production

cd frontend
npm run build

This creates an optimized production build in the build/ folder.


🌐 Deployment

Deploy to GitHub Pages

cd frontend
npm install gh-pages --save-dev
npm run deploy

Deploy to Vercel/Netlify

  1. Connect your GitHub repository
  2. Set build command: npm run build
  3. Set publish directory: build
  4. Deploy!

🎯 Features Checklist

  • βœ… 42+ Maharashtra forts database
  • βœ… Vibrant UI with Marathi theme
  • βœ… Search and filter functionality
  • βœ… Statistics dashboard
  • βœ… Bahirji AI chatbot
  • βœ… Sinhagad complete itinerary
  • βœ… Premium fort cards
  • βœ… Responsive design
  • βœ… MahaFort logo and branding

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ Notes for Developers

Important Files to Know

  1. frontend/src/data/staticForts.js - Main fort database
  2. frontend/src/components/BahirjiChatbot.jsx - Chatbot logic
  3. frontend/src/pages/Home.jsx - Main landing page
  4. frontend/src/components/Navbar.jsx - Navigation bar

Chatbot Knowledge Base

The Bahirji chatbot has built-in knowledge about:

  • Sinhagad, Raigad, Pratapgad forts
  • Trekking tips and safety
  • Best time to visit
  • Fort recommendations by difficulty

To add more knowledge, edit the fortKnowledge object in BahirjiChatbot.jsx.


🎨 Design System

Color Palette

  • Primary: Orange (#ea580c), Red (#b91c1c)
  • Accent: Yellow (#facc15)
  • Gradients: Multi-stop vibrant gradients
  • Text: White on colored backgrounds, Gray-800 on light

Typography

  • Headings: Font-black, large sizes (text-5xl to text-7xl)
  • Body: Font-medium to font-bold
  • Marathi Text: Clear, large, with drop-shadows

πŸ“§ Support

For issues or questions:

  1. Check the troubleshooting section above
  2. Review the code comments
  3. Check browser console for errors
  4. Create an issue on GitHub

πŸ“„ License

This project is open source and available for educational purposes.


πŸ™ Acknowledgments

  • Chhatrapati Shivaji Maharaj - Inspiration
  • Bahirji Naik - Maratha warrior and spy
  • Maharashtra Tourism - Fort information
  • React Community - Amazing framework

πŸš€ Happy Coding!

Made with ❀️ for Maharashtra's Heritage

🏰 Jai Shivaji! Jai Bhavani! 🚩

About

A community Engagement Project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages