Skip to content

SakshamRajpal/Hindi_Learning_website

Repository files navigation

HindiSafarSeekho ๐Ÿ‡ฎ๐Ÿ‡ณ๐Ÿ—ฃ๏ธ

A culturally-aware and conversational Hindi learning platform for non-Hindi speakersโ€”tourists, students, and expats in India.

Screenshot 2025-06-24 125719

๐Ÿ“Œ Problem Statement

Millions of non-Hindi speakers, especially those visiting or living in India, struggle with conversational Hindi. Existing tools are often too generic, grammar-heavy, or detached from real-life cultural contextโ€”making practical communication difficult.


๐ŸŽฏ Project Overview

HindiSafarSeekho is a modern, interactive web platform designed to help non-Hindi speakers learn useful, everyday Hindi in a fun and engaging way.

โœจ Key Features

  • ๐Ÿ  Home Page: Welcome screen with introduction and navigation
  • ๐Ÿ“š Lesson Page: Structured tutorials and quick quizzes to reinforce learning
  • ๐Ÿ”ค Alphabet Page: Learn the Hindi script with visual and audio support
  • ๐Ÿ“ Practice Page: Attempt mock quizzes and track your improvement
  • ๐Ÿ† Leaderboard Page: View quiz streaks and compare your progress with others
  • ๐Ÿ” Login/Register: Secure authentication using Firebase
  • ๐Ÿค– AI Chatbot: Google Dialogflow-based chatbot to assist with:
    • Sentence formation(Example Question:- Hindi greetings)
    • Vocabulary enhancement(Example Question:- Hindi Verbs and Nouns)
    • Basic conversational practice(Example Question:- Hindi Numbers from 1 to 10)
  • ๐Ÿ—ฃ๏ธ Text-to-Speech: Audio playback for pronunciation help
  • ๐Ÿ’ฌ Phrase Bank: Daily-use conversational phrases with transliteration

๐Ÿ› ๏ธ Tech Stack

Frontend Backend & Auth AI & Tools
React + Vite Firebase Google Dialogflow Chatbot
TailwindCSS Firestore DB Text-to-Speech APIs

๐Ÿ› ๏ธ System Architecture

+-----------------------------------+
|           System Architecture     |
+-----------------------------------+
|                                   |
|  +----------------------------+   |
|  |       Client Side          |   |
|  |  (React Web Application)   |   |
|  |                            |   |
|  |  +----------------------+  |   |
|  |  |  User Interface      |  |   |
|  |  |  - Navbar            |  |   |
|  |  |  - Footer            |  |   |
|  |  |  - LessonsPage       |  |   |
|  |  |  - ProgressTracker   |  |   |
|  |  |  - VideoLesson       |  |   |
|  |  |  - Quiz              |  |   |
|  |  +----------------------+  |   |
|  |                            |   |
|  |  +----------------------+  |   |
|  |  |  State Management    |  |   |
|  |  |  - React Hooks       |  |   |
|  |  |  - Context API       |  |   |
|  |  +----------------------+  |   |
|  +----------------------------+   |
|                                   |
|  +----------------------------+   |
|  |       Backend Services     |   |
|  |         (Firebase)         |   |
|  |                            |   |
|  |  +----------------------+  |   |
|  |  |  Authentication      |  |   |
|  |  |  - Email/Password    |  |   |
|  |  |  - Google Sign-in    |  |   |
|  |  +----------------------+  |   |
|  |  +----------------------+  |   |
|  |  |  Realtime Database   |  |   |
|  |  |  - User Progress     |  |   |
|  |  |  - Lesson Data       |  |   |
|  |  +----------------------+  |   |
|  |                            |   |
|  +----------------------------+   |
|                                   |
|  +----------------------------+   |
|  |       Chatbot Services     |   |
|  |      (Google Dialogflow)   |   |
|  |                            |   |
|  |  +----------------------+  |   |
|  |  |   DialogflowChatbot  |  |   |
|  |  |   - Creating Agent   |  |   |
|  |  |   - Training Agent   |  |   |
|  |  |     (Based on JSON)  |  |   |
|  |  +----------------------+  |   |
|  |                            |   |
|  +----------------------------+   |
|                                   |
+-----------------------------------+

๐Ÿ“ Project Structure

hindi-learning-website/
โ”œโ”€โ”€ public/
โ”‚ โ”œโ”€โ”€ favicon.ico # Site icon
โ”‚ โ”œโ”€โ”€ robots.txt
โ”‚ โ””โ”€โ”€ manifest.json # Web app manifest
โ”œโ”€โ”€ src/
โ”‚ โ”œโ”€โ”€ components/ # Reusable UI components
โ”‚ โ”‚ โ”œโ”€โ”€ Navbar.jsx
โ”‚ โ”‚ โ”œโ”€โ”€ Footer.jsx
โ”‚ โ”‚ โ”œโ”€โ”€ ProgressTracker.jsx
โ”‚ โ”‚ โ”œโ”€โ”€ VideoLesson.jsx
โ”‚ โ”‚ โ”œโ”€โ”€ Quiz.jsx
โ”‚ โ”‚ โ””โ”€โ”€ ui/ # Custom UI widgets
โ”‚ โ”‚    โ”œโ”€โ”€ tabs.jsx
โ”‚ โ”‚    โ””โ”€โ”€ button.jsx
โ”‚ โ”œโ”€โ”€ pages/ # Page components
โ”‚ โ”‚ โ”œโ”€โ”€ AlphabetPage.jsx
โ”‚ โ”‚ โ”œโ”€โ”€ Auth.jsx
โ”‚ โ”‚ โ”œโ”€โ”€ Index.jsx # Homepage with ProgressTracker
โ”‚ โ”‚ โ”œโ”€โ”€ LessonsBoardPage.jsx # Lessons with video + quiz
โ”‚ โ”‚ โ”œโ”€โ”€ LessonsPage.jsx
โ”‚ โ”‚ โ”œโ”€โ”€ Login.jsx
โ”‚ โ”‚ โ”œโ”€โ”€ NotFound.jsx
โ”‚ โ”‚ โ”œโ”€โ”€ practice.jsx
โ”‚ โ”‚ โ””โ”€โ”€ Register.jsx
โ”‚ โ”œโ”€โ”€ data/
โ”‚ โ”‚ โ””โ”€โ”€ lessonsData.js # Static lesson content
โ”‚ โ”œโ”€โ”€ hooks/
โ”‚ โ”‚ โ”œโ”€โ”€ use-mobile.js 
โ”‚ โ”‚ โ””โ”€โ”€ use-toast.js 
โ”‚ โ”œโ”€โ”€ App.css
โ”‚ โ”œโ”€โ”€ App.jsx # Main app logic and routes
โ”‚ โ”œโ”€โ”€ firebase.js
โ”‚ โ”œโ”€โ”€ index.css
โ”‚ โ””โ”€โ”€ main.tsx
โ”œโ”€โ”€ .env
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ components.json
โ”œโ”€โ”€ firebase.json
โ”œโ”€โ”€ index.html
โ”œโ”€โ”€ package-lock.json
โ”œโ”€โ”€ package.json # Project dependencies
โ”œโ”€โ”€ tsconfig.app.json 
โ”œโ”€โ”€ vite.config.ts 
โ”œโ”€โ”€ tailwind.config.js # Tailwind customization
โ””โ”€โ”€ README.md 

๐Ÿคธ Quick Start:

Follow these steps to get the project running locally.

๐Ÿ”ง Prerequisites

Ensure you have the following installed:

  • Git
  • Node.js
  • npm (Node Package Manager)
  • Firebase setup
  • Firebase project credentials
  • Google Dialogflow
  • ZIP file consisting files in JSON format (for training chatbot)

๐Ÿ“ฆ Clone the Repository

git clone https://github.com/SakshamRajpal/Hindi_Learning_website.git
cd Hindi_Learning_website

๐Ÿ“ฅ Install Dependencies

npm install

๐Ÿ” Set Up Environment Variables

  • Create a .env.local file in the root directory:
VITE_FIREBASE_API_KEY=
VITE_FIREBASE_AUTH_DOMAIN=
VITE_FIREBASE_PROJECT_ID=
VITE_FIREBASE_STORAGE_BUCKET=
VITE_FIREBASE_MESSAGING_SENDER_ID=
VITE_FIREBASE_APP_ID=
VITE_FIREBASE_MEASUREMENT_ID=
VITE_DIALOG_AGENT_ID=
Replace the placeholders with your actual Firebase and GoogleDialog credentials.

โ–ถ๏ธ Run the Development Server

npm run dev

Visit http://localhost:8080 in your browser.


๐Ÿ™Œ Acknowledgements

  • Google Dialogflow for chatbot integration
  • Firebase for authentication and real-time data handling
  • Vercel for deployment

๐Ÿค Contributing:

  • Found a bug or want to contribute?
  • Feel free to fork the repo, make changes, and open a pull request.
  • โญ If you like this project, consider giving it a star!