Skip to content

Lingua Connect is an interactive online platform built on the MERN stack, connecting language learners with personalized tutors for tailored online lessons. It facilitates user registration, tutor search, scheduling, and features one-to-one video calls, flashcard storage, and a subscription-based payment model.

License

Notifications You must be signed in to change notification settings

Sagargupta16/TRINIT_BugBiters_Dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌍 Lingua Connect

Bridging Languages, Connecting Cultures

Live Demo License Node.js React MongoDB


πŸ“– Overview

Lingua Connect is an innovative interactive online platform that seamlessly connects language learners with experienced tutors for personalized, one-on-one language lessons. Our platform empowers students to find the perfect tutor based on their target language, fluency level, budget, and schedule preferences.

πŸŽ₯ Demo Video

Watch our comprehensive demo video


✨ Key Features

πŸ‘¨β€πŸŽ“ For Students

Feature Description
πŸ” User Registration Easy and secure account creation process
πŸ” Smart Tutor Search Advanced filtering by language, experience, pricing, and availability
πŸ“… Flexible Scheduling Choose from 45, 60, or 90-minute lesson durations
πŸ“š Interactive Flashcards Create, manage, and review language-specific flashcards
πŸ“Š Progress Tracking Monitor learning progress and test results

πŸ‘©β€πŸ« For Tutors

Feature Description
🏫 Class Management Set up and organize classes based on availability
πŸ’° Dynamic Pricing Flexible pricing options based on teaching level
πŸ“‹ Student Assessment Create personalized tests with detailed feedback
πŸ“Ί Live Broadcasting Host live sessions for multiple students

🌟 Core Platform Features

  • πŸŽ₯ HD Video Calling: Crystal-clear one-on-one video sessions with screen sharing
  • πŸ’³ Subscription Model: Seamless subscription-based payment system powered by Stripe
  • πŸ“± Responsive Design: Optimized for all devices and screen sizes
  • πŸ”” Real-time Notifications: Stay updated with class schedules and announcements

πŸš€ Advanced Features

πŸ“‘ Live Broadcasting

  • Tutors can host live sessions for multiple students simultaneously
  • Flexible scheduling controlled by tutors
  • Automated notifications for upcoming live sessions

πŸ“ Personalized Assessment System

  • Custom test creation by tutors
  • Detailed question-by-question feedback
  • Comprehensive test history and performance analytics

πŸ› οΈ Tech Stack

Frontend

  • React 18.x - Modern JavaScript library for building user interfaces
  • Redux Toolkit - State management solution
  • React Router DOM - Client-side routing
  • Axios - HTTP client for API requests
  • Tailwind CSS - Utility-first CSS framework
  • React Icons - Popular icon library
  • React Toastify - Notification system

Backend

  • Node.js - JavaScript runtime environment
  • Express.js - Web application framework
  • MongoDB - NoSQL database
  • Mongoose - MongoDB object modeling
  • JWT - JSON Web Tokens for authentication
  • Bcrypt - Password hashing
  • Stripe - Payment processing

Development Tools

  • Nodemon - Development server auto-restart
  • Concurrently - Run multiple npm scripts
  • Prettier - Code formatting
  • Winston - Logging library

πŸ“ Project Structure

TRINIT_BugBiters_Dev/
β”œβ”€β”€ πŸ“‚ client/                 # React frontend application
β”‚   β”œβ”€β”€ πŸ“‚ public/            # Static assets
β”‚   └── πŸ“‚ src/
β”‚       β”œβ”€β”€ πŸ“‚ api/           # API service files
β”‚       β”œβ”€β”€ πŸ“‚ components/    # Reusable React components
β”‚       β”œβ”€β”€ πŸ“‚ pages/         # Page components
β”‚       β”œβ”€β”€ πŸ“‚ store/         # Redux store and slices
β”‚       β”œβ”€β”€ πŸ“‚ utils/         # Utility functions
β”‚       β”œβ”€β”€ App.jsx           # Main App component
β”‚       └── index.js          # Entry point
β”œβ”€β”€ πŸ“‚ server/                # Node.js backend application
β”‚   β”œβ”€β”€ πŸ“‚ controllers/       # Request handlers
β”‚   β”œβ”€β”€ πŸ“‚ middleware/        # Custom middleware
β”‚   β”œβ”€β”€ πŸ“‚ models/           # Database models
β”‚   β”œβ”€β”€ πŸ“‚ routes/           # API routes
β”‚   β”œβ”€β”€ πŸ“‚ utils/            # Backend utilities
β”‚   └── index.js             # Server entry point
β”œβ”€β”€ package.json             # Root package configuration
β”œβ”€β”€ tailwind.config.js       # Tailwind CSS configuration
└── README.md               # Project documentation

πŸš€ Quick Start

Prerequisites

Ensure you have the following installed:

  • Node.js (v20.0.0 or higher) πŸ“¦
  • npm (v10.0.0 or higher) πŸ“¦
  • MongoDB (local or cloud instance) πŸ—„οΈ

Installation Steps

  1. Clone the repository

    git clone https://github.com/Sagargupta16/TRINIT_BugBiters_Dev.git
    cd TRINIT_BugBiters_Dev
  2. Install all dependencies

    npm run fb-install
  3. Set up environment variables

    Create .env files in both client and server directories with necessary configurations:

    Server .env:

    PORT=5000
    MONGODB_URI=your_mongodb_connection_string
    JWT_SECRET=your_jwt_secret
    STRIPE_SECRET_KEY=your_stripe_secret_key
    EMAIL_USER=your_email
    EMAIL_PASS=your_email_password
  4. Start the development servers

    npm run start
  5. Access the application

Alternative Commands

# Install frontend dependencies only
npm run frontend-install

# Install backend dependencies only
npm run backend-install

# Start frontend only
npm run frontend-start

# Start backend only
npm run backend-start

# Build for production
npm run frontend-build

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

Development Workflow

  1. Fork the repository to your GitHub account
  2. Create a feature branch from develop:
    git checkout -b feature-your-feature-name
  3. Implement your changes following our coding standards
  4. Test thoroughly to ensure no regressions
  5. Submit a pull request with a clear description

Branch Naming Convention

  • feature-* for new features
  • bugfix-* for bug fixes
  • hotfix-* for urgent fixes

For detailed guidelines, please read our Contributing Guide.


πŸ“„ License

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


πŸ‘₯ Development Team

Meet the talented developers behind Lingua Connect:

Sagar Gupta
Sagar Gupta

Project Lead & Full Stack Developer
Sachin Gupta
Sachin Gupta

Frontend Developer
Rahul Raj
Rahul Raj

Backend Developer

πŸ”— Links & Resources

🌐 Live Application

πŸ“š Documentation & References

πŸ› οΈ Development Tools


🌟 Star this repository if you found it helpful!

Made with ❀️ by the BugBiters Team

About

Lingua Connect is an interactive online platform built on the MERN stack, connecting language learners with personalized tutors for tailored online lessons. It facilitates user registration, tutor search, scheduling, and features one-to-one video calls, flashcard storage, and a subscription-based payment model.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 5