The application is designed for a company that offers online language learning services with teachers.
- Registration Form: Enables users to create an account on the platform.
- Login Form: Allows existing users to sign in to their accounts.
- Home Page: Features the company’s advantages and a call-to-action link that redirects users to the Teachers page.
- Teachers Page: Lists available teachers with descriptions of the languages they teach, the proficiency levels of students they work with, and their hourly rates. (location, body type, amenities).
- Trial Lesson Booking Form: Provides users with the option to book a trial
- Favorites Page: A private page where users can view the teachers they have added to their "favorites" list.
Technology Stack
- React: For building the user interface.
- Vite: For project bundling and local server setup.
- Redux Toolkit: For state management.
- Firebase: For user authentication and data storage.
- Formik: For handling forms and validation.
- Yup: For form validation schema.
- React Router DOM: For navigation between pages.
- React-Toastify: For displaying notifications.
- React-Select: For customizable dropdown menus.
- React-Loader-Spinner: For displaying loading indicators.
Before running this project locally, ensure you have the following installed:
- Node.js
- npm
- Clone the repository
git clone https://github.com/AlexSandr90/learn-lingo
- Install dependencies
cd learn-lingo npm install or npm i - Start the development server
npm run dev
- Build the project for production
npm run build
- Preview the production build
npm run preview
- Run code linting
npm run lint
LearnLingo is a user-friendly and feature-rich platform designed to connect learners with language teachers. With easy navigation and the ability to save favorite teachers, it offers a streamlined experience for online language learning.