Learn-lingo is a responsive React application designed to help users find language tutors for foreign language learning. It offers a wide range of features including tutor filtering, theming, and trial lesson booking.

- 🔍 Filter tutors by:
- Language
- Level of knowledge
- Hourly price
- ⭐ Add tutors to favorites (requires authentication)
- 📅 Book a free trial lesson
- 🎨 Switch between 5 color themes
- 🔐 Firebase authentication and user data management
- 🧠 Form validation using
react-hook-formandyup - ⚛️ State management using Redux Toolkit
- 🌐 Routing with
react-router-dom
You can view the design prototype on Figma: 👉 View Figma Design
- React 19
- Redux Toolkit
- Firebase
- React Hook Form + Yup
- Vite
- TypeScript
- ESLint
- React Router v7
- Modern Normalize
- Theme management with CSS Modules and clsx
- Gsap
src/
├── components/ # Reusable components
├── firebase/ # Firebase configurations
├── pages/ # Custom hooks
├── redux/ # Redux slices and store config
├── styles/ # Styles configurations and variables
├── utils/ # Helper functions & Custom hooks
└── App.tsx # App entry pointMake sure you have the following installed:
- Clone the repository:
git clone https://github.com/EevgenK/LearnLingo
cd learn-lingo- Install dependencies:
npm instal- Start the development server:
npm run dev- Build the project for production:
npm run buildEvgen Kulbachenko