Skip to content

This repository guides you through the development of a web-based language learning platform, designed to make language acquisition interactive and enjoyable. Whether you're a beginner or looking to contribute, you'll find everything you need here, from setup instructions to detailed explanations in the README.md.

Notifications You must be signed in to change notification settings

sujalvadgama77/Learning_Languages

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning Languages - From Words to Conversions...

Learning Languages Logo

🎯 Overview

Learning Languages is an interactive platform designed to help users learn new languages through a combination of text-based lessons, audio exercises, and interactive quizzes. The platform features a modern, user-friendly interface and real-time progress tracking.

✨ Features

  • 📚 Interactive language lessons
  • 🎤 Audio pronunciation exercises
  • 📝 Progress tracking
  • 🔄 Real-time feedback
  • 📱 Responsive design
  • 🔐 User authentication
  • 📊 Performance analytics
  • 🧑‍🤝‍🧑 LangBuddy AI Assistance for practicing conversations and improving language proficiency
  • 🎓 Certification on completion

🛠️ Tech Stack

Frontend

  • React.js
  • Vite
  • Bootstrap
  • TailwindCSS
  • Firebase
  • EmailJS

Backend

  • Python
  • Flask
  • SQLite

🚀 Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • Python (v3.8 or higher)
  • npm or yarn
  • Git

Installation

  1. Clone the repository
git clone https://github.com/yourusername/learning-languages.git
cd learning-languages
  1. Set up the Frontend
cd client
npm install
  1. Set up the Backend
cd ../server
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
cd ../server_chatbot
python -m venv .myvenv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
  1. Environment Setup Create a .env file in the client directory with the following variables:
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
VITE_FIREBASE_PROJECT_ID=your_firebase_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
VITE_FIREBASE_APP_ID=your_firebase_app_id

Running the Application

  1. Start the Backend Server
cd server
python app.py
  1. Start the Backend Server for AI Chatbot
cd server_chatbot
python application.py
  1. Start the Frontend Development Server
cd client
npm run dev

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

📁 Project Structure

learning-languages/
├── client/                 # Frontend React application
│   ├── src/
│   │   ├── assets/        # Static assets
│   │   ├── components/    # React components
│   │   ├── pages/         # Page components
│   │   └── App.jsx        # Main application component
│   └── package.json       # Frontend dependencies
├── server/                 # Backend Flask application
│   ├── app.py            # Main server file
│   └── requirements.txt   # Python dependencies
├── server_chatbot/                 # Backend Flask application
│   ├── application.py            # Main server file for AI_Chatbot
│   └── requirements.txt   # Python dependencies
└── README.md             # Project documentation

🤝 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

📝 License

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

👥 Authors

🙏 Acknowledgments

  • Thanks to all contributors who have helped shape this project
  • Special thanks to the open-source community for the amazing tools and libraries

About

This repository guides you through the development of a web-based language learning platform, designed to make language acquisition interactive and enjoyable. Whether you're a beginner or looking to contribute, you'll find everything you need here, from setup instructions to detailed explanations in the README.md.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •