Skip to content
CodedbyAKSAPublic

About

Itihaas is a comprehensive Indian heritage tourism platform that connects travelers with India's rich cultural heritage, monuments, and historical sites. The platform offers guided tours, merchandise, interactive maps, and a unique reward system to enhance the tourism experience.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

ย 

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Itihaas - Indian Heritage Tourism Platform

image

๐ŸŒŸ Overview

image

Itihaas is a comprehensive Indian heritage tourism platform that connects travelers with India's rich cultural heritage, monuments, and historical sites. The platform offers guided tours, merchandise, interactive maps, and a unique reward system to enhance the tourism experience.

๐Ÿ›๏ธ Features

image image image image image

Core Features

  • Interactive Heritage Map: Explore UNESCO World Heritage sites and monuments across India
  • Guided Tours: Connect with certified tour guides for personalized experiences
  • Booking System: Reserve visits to monuments and heritage sites
  • Multilingual Support: Available in English and Hindi
  • User Reviews & Ratings: Share experiences and read reviews from other travelers
  • News Integration: Stay updated with latest heritage and tourism news

E-commerce Features

  • Heritage Merchandise: Shop for traditional Indian clothing and souvenirs
  • Shopping Cart: Add items and manage your shopping experience
  • Order Management: Track orders and view order history
  • Payment Integration: Secure payment processing

User Management

  • User Registration & Authentication: Secure login system with email verification
  • Profile Management: Upload profile pictures and manage personal information
  • Guide Registration: Special registration for tour guides
  • Admin Dashboard: Comprehensive admin panel for platform management

Interactive Features

  • AI Chatbot: Get instant assistance and information about heritage sites
  • WhatsApp Integration: Receive booking confirmations via WhatsApp
  • Automated Messaging: Scheduled notifications and updates
  • Itihaas Coins: Reward system for user engagement and activities

Content Features

  • Festival Calendar: Discover festivals and celebrations across India
  • Video Content: Educational videos about heritage sites
  • Photo Galleries: Visual exploration of monuments and sites
  • Audio Narration: Guided audio tours for monuments

๐Ÿ› ๏ธ Technology Stack

Backend

  • Flask: Python web framework
  • SQLAlchemy: Database ORM
  • Flask-Login: User authentication
  • Flask-WTF: Form handling and CSRF protection
  • Flask-Babel: Internationalization support

Frontend

  • HTML5/CSS3: Modern responsive design
  • JavaScript: Interactive user experience
  • Bootstrap: UI framework for responsive layouts

External APIs

  • Google Maps API: Interactive mapping and location services
  • GNews API: Real-time news integration
  • WhatsApp Business API: Messaging integration

Database

  • SQLite: Development database
  • SQLAlchemy: Database management and migrations

๐Ÿ“ฆ Installation

Prerequisites

  • Python 3.8 or higher
  • pip (Python package manager)
  • Git

Setup Instructions

  1. Clone the repository

    git clone <repository-url>
    cd itihaas
  2. Navigate to the project directory

    cd project
  3. Create a virtual environment

    python -m venv venv
  4. Activate the virtual environment

    # On Windows
    venv\Scripts\activate
    
    # On macOS/Linux
    source venv/bin/activate
  5. Install dependencies

    pip install -r requirements.txt
  6. Set up environment variables Create a .env file in the project directory with the following variables:

    FLASK_APP=main.py
    FLASK_ENV=development
    SECRET_KEY=your-secret-key-here
    EMAIL_USER=your-email@gmail.com
    EMAIL_PASSWORD=your-app-password
    GOOGLE_MAPS_API_KEY=your-google-maps-api-key
    GNEWS_API_KEY=your-gnews-api-key
  7. Initialize the database

    python main.py
  8. Run the application

    flask run

The application will be available at http://localhost:5000

๐Ÿ—‚๏ธ Project Structure

itihaas/
โ”œโ”€โ”€ project/
โ”‚   โ”œโ”€โ”€ main.py                 # Application entry point
โ”‚   โ”œโ”€โ”€ config.py              # Configuration settings
โ”‚   โ”œโ”€โ”€ requirements.txt       # Python dependencies
โ”‚   โ”œโ”€โ”€ models.py             # Database models
โ”‚   โ””โ”€โ”€ website/
โ”‚       โ”œโ”€โ”€ __init__.py       # Flask app factory
โ”‚       โ”œโ”€โ”€ views.py          # Main route handlers
โ”‚       โ”œโ”€โ”€ auth.py           # Authentication routes
โ”‚       โ”œโ”€โ”€ merchandise.py    # E-commerce functionality
โ”‚       โ”œโ”€โ”€ chatbot.py        # AI chatbot integration
โ”‚       โ”œโ”€โ”€ whatsapp.py       # WhatsApp messaging
โ”‚       โ”œโ”€โ”€ automated_messaging.py  # Automated notifications
โ”‚       โ”œโ”€โ”€ models.py         # Database models
โ”‚       โ”œโ”€โ”€ merchandise_models.py   # E-commerce models
โ”‚       โ”œโ”€โ”€ static/           # Static files (CSS, JS, images)
โ”‚       โ””โ”€โ”€ templates/        # HTML templates
โ””โ”€โ”€ README.md

๐Ÿš€ Key Features Explained

Interactive Map

  • Explore heritage sites across India
  • Filter by categories (temples, forts, palaces, etc.)
  • Get detailed information about each site
  • View location coordinates and directions

Booking System

  • Reserve visits to monuments
  • Select preferred dates and times
  • Choose number of visitors
  • Receive confirmation via email and WhatsApp

Guide Management

  • Certified guides can register on the platform
  • Users can browse and book guides
  • Guide profiles with experience and specializations
  • Rating and review system for guides

Merchandise Shop

  • Traditional Indian clothing and accessories
  • Secure shopping cart functionality
  • Order tracking and history
  • Multiple payment options

Itihaas Coins

  • Earn coins for various activities
  • Redeem coins for discounts and rewards
  • Track coin balance and transaction history

๐Ÿ”ง Configuration

Environment Variables

  • SECRET_KEY: Flask secret key for session management
  • EMAIL_USER: Gmail address for sending emails
  • EMAIL_PASSWORD: Gmail app password
  • GOOGLE_MAPS_API_KEY: Google Maps API key
  • GNEWS_API_KEY: GNews API key for news integration

All of these are read from the environment (or project/.env); nothing is hard-coded. Without EMAIL_USER/EMAIL_PASSWORD, sign-up skips the emailed verification code.

Database Configuration

The application uses SQLite by default for development. For production, you can configure other databases like PostgreSQL or MySQL by setting DATABASE_URL.

๐ŸŒ Hosting (Vercel) and mobile

  • project/vercel.json deploys the Flask app with project/ as the root directory. project/public/static is a symlink to website/static: Vercel serves public/ from its CDN, so images, CSS and video don't go through the function. (The folder has to exist in the repo; one created by a build command is not picked up.)
  • Database: set DATABASE_URL (or connect a Postgres store under the Vercel project's Storage tab, which sets POSTGRES_URL) and the tables are created and the shop seeded on first start. Without one, each Vercel instance uses its own SQLite file in /tmp: fine for a quick look, but accounts and bookings don't carry across instances or cold starts. Uploads always go to /tmp on Vercel.
  • The map uses Google Maps when GOOGLE_MAPS_API_KEY is set and accepted, and falls back to OpenStreetMap (sites only, no directions) when it isn't.
  • News comes from GNews when GNEWS_API_KEY works and from Google News RSS (no key) otherwise; results are cached for 30 minutes.
  • The admin login (itihaasdairy@gmail.com) uses the password in ADMIN_PASSWORD; without it the admin login is disabled. The live deployment runs in Vercel's Sydney region, next to the database.
  • The pages use web-sized videos from website/static/media (about 30 MB in total, versus over 300 MB for the originals, which stay in Git LFS).
  • Phones: static/css/mobile.css adds the compact header, stacked map controls, swipeable shop categories and readable text. The site is installable as an app (web manifest, icons, service worker with an offline page): "Add to Home Screen" on iOS, "Install app" on Android.
  • WhatsApp confirmations (pywhatkit) need a desktop with a display: pip install -r requirements-whatsapp.txt.

๐Ÿ“ฑ API Endpoints

Authentication

  • POST /sign-up: User registration
  • POST /login: User login
  • POST /logout: User logout
  • POST /verify-email: Email verification

Tours & Bookings

  • GET /index: Heritage sites listing
  • POST /book: Create new booking
  • GET /booking-history: View booking history
  • POST /guide-signup: Guide registration

Merchandise

  • GET /shop: Product catalog
  • GET /product/<id>: Product details
  • POST /add-to-cart: Add to shopping cart
  • POST /checkout: Process order

Reviews & Ratings

  • GET /review: View all reviews
  • POST /api/reviews: Submit new review

๐Ÿค Contributing

  1. Fork the repository
  2. Create a 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

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘ฅ Team

  • CEO: Project leadership and strategy
  • CTO: Technical architecture and development
  • CRO: Revenue optimization and business development
  • Curator: Content management and heritage expertise

๐Ÿ“ž Support

For support and queries:

๐Ÿ”ฎ Future Enhancements

  • Mobile app development
  • Virtual reality tours
  • Advanced AI recommendations
  • Social media integration
  • Multi-language support expansion
  • Advanced analytics dashboard

Itihaas - Preserving India's Heritage, One Journey at a Time ๐Ÿ‡ฎ๐Ÿ‡ณ

About

Itihaas is a comprehensive Indian heritage tourism platform that connects travelers with India's rich cultural heritage, monuments, and historical sites. The platform offers guided tours, merchandise, interactive maps, and a unique reward system to enhance the tourism experience.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages