This project is a language learning application that demonstrates the skills in developing a full-stack application. Users can register, search for teachers that best suit their needs, book lessons, and add teachers to their favorites list.
- User Registration and Authentication: Users can register and authenticate using their email and password, as well as through Google.
- Teacher Search and Filtering: Users can search and filter teachers based on various criteria.
- Favorite Teachers: Users can add teachers to their favorites list for quick access.
- Lesson Booking: Users can book lessons with teachers.
- Responsive Design: The app is optimized for both desktop and mobile devices.
-
Frontend:
- React: JavaScript library for building user interfaces.
- React Router: For routing and navigation.
- Styled Components: For styling React components.
- Framer Motion: For animations.
-
Backend:
- Firebase: Used for authentication (including Google authentication), database, and storage.
-
Form Handling:
- React Hook Form: For managing form state.
- Yup: For form validation.
-
Build Tool:
- Vite: For fast development and build setup.
-
Clone the repository:
git clone https://github.com/yurii-corssa/language-learning-app.git cd language-learning-app
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Build for production:
npm run build
- Register/Login: Create an account or log in with existing credentials or via Google.
- Search Teachers: Use the search and filter options to find teachers that meet your criteria.
- Book Lessons: Select available times and book lessons with your preferred teachers.
- Manage Favorites: Add or remove teachers from your favorites list for easy access.
- Technical Specification: Detailed project requirements and implementation details.
- Figma Design: Visual design and user interface mockups.
- Development: The application is developed using modern JavaScript practices and tools. The development environment uses Vite for fast builds and hot module replacement.
- Deployment: The application can be deployed to any static hosting service. The build script generates a production-ready bundle that can be served by any web server.
The application leverages Firebase for secure authentication and database management. Users' data is securely stored and managed, ensuring privacy and security.
The app is optimized for performance with efficient loading and rendering. Vite's fast build times and hot module replacement enhance the development experience, while React's virtual DOM ensures efficient updates and rendering.
- Teacher Reviews and Ratings: Allowing users to leave reviews and ratings for teachers.
- Multi-language Support: Adding support for multiple languages to cater to a global audience.
- Advanced Filtering: Enhancing the filtering options for a more personalized search experience.
This project is licensed under the MIT License - see the LICENSE file for details.