{"id":25027666,"url":"https://github.com/ggalina/learnlingo","last_synced_at":"2026-05-01T22:31:59.886Z","repository":{"id":212470601,"uuid":"731569781","full_name":"GGalina/LearnLingo","owner":"GGalina","description":"Technologies: REACT, React Context, React Hooks, AXIOS, libraries: react-responsive, react-icons, styled-components, yup, formik, react-toastify, react-select, react-router-dom, react-loading-icons,  firebase, normalize.css. Personal project.","archived":false,"fork":false,"pushed_at":"2024-05-15T16:55:36.000Z","size":35354,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T17:29:21.614Z","etag":null,"topics":["firebase","firebase-auth","firebase-realtime-database","formik-yup","react","react-context","react-hooks","react-loading-icons","react-select","styled-components","toastify"],"latest_commit_sha":null,"homepage":"https://ggalina.github.io/LearnLingo/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GGalina.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-14T11:26:18.000Z","updated_at":"2024-05-15T17:00:53.000Z","dependencies_parsed_at":"2024-05-13T14:32:09.357Z","dependency_job_id":"d1f83c27-db67-4163-a0fa-141b051f8cfe","html_url":"https://github.com/GGalina/LearnLingo","commit_stats":null,"previous_names":["ggalina/learnlingo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GGalina/LearnLingo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GGalina%2FLearnLingo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GGalina%2FLearnLingo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GGalina%2FLearnLingo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GGalina%2FLearnLingo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GGalina","download_url":"https://codeload.github.com/GGalina/LearnLingo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GGalina%2FLearnLingo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32515837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["firebase","firebase-auth","firebase-realtime-database","formik-yup","react","react-context","react-hooks","react-loading-icons","react-select","styled-components","toastify"],"created_at":"2025-02-05T19:38:26.002Z","updated_at":"2026-05-01T22:31:59.867Z","avatar_url":"https://github.com/GGalina.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LearnLingo Project\n\nWelcome to the LearnLingo project! This web application allows users to search for teachers, view their rates, languages that they teach, and other important information, and save their favorite teachers as well as book trial lessons. The project was developed using React, styled-components, Firebase database, and others.\n\nLivePages: https://ggalina.github.io/LearnLingo/\n\n\n## Getting Started\n\nTo run the project on your local machine, follow these steps:\n\n### Clone the Repository:\n\n```shell\ngit clone https://github.com/GGalina/LearnLingo.git\n```\n\n### Navigate to the Project Directory:\n\n```shell\ncd LearnLingo\n```\n\n### Install Dependencies: \nMake sure you have Node.js and npm installed.\n\n```shell \nnpm install\n```\n\n### Start the Development Server: \nTo start the project, run the following command:\n\n```shell \nnpm start\n```\n\n\n## Features\n\n***Registration / Login:*** Users can create their account for the platform to add teachers to their \"Favorites\".\n\n***Teachers:*** Page shows a list of teachers available for booking.\n\n***Teacher Details:*** Clicking on a \"Read more\" button will display detailed information, including a summary of the teacher's experience and student reviews.\n\n***Teachers Filter:*** Users can filter teachers by selecting one or more filter options at the top of the page. Teachers can be filtered based on languages they teach, level of knowledge, and price.\n\n***Load More:*** Clicking the \"Load more\" button will load a new set of teachers (pagination).\n\n***Book trial lesson:*** Users can book a trial lesson by clicking \"Read more - Book trial lesson\" and filling out the form.\n\n***Favorite Teachers:*** Users can mark a teacher as a favorite by clicking the heart icon in the corner of the teacher card. A second click on the heart will remove the teacher from the favorites list. The teacher added to favorites can be viewed in the \"Favorites\" tab.\n\n\n## Technologies Used\n\n***REACT:*** Frontend library for building user interfaces.\n\n***React Context:*** For managing global state.\n\n***React Hooks:*** For state management and side-effects in functional components.\n\n***AXIOS:*** For making HTTP requests.\n\n***Libraries:***\n\n* react-responsive: For building responsive web application.\n\n* react-icons: For including icons.\n\n* styled-components: For styling React components.\n\n* formik: For building forms.\n\n* react-toastify: For displaying toast notifications.\n\n* react-select: For building custom dropdowns.\n\n* react-router-dom: For declarative routing in application.\n\n* react-loading-icons: For displaying loading indicators.\n\n* yup: For form validation.\n\n* firebase: For backend services and hosting.\n\n* normalize.css: For consistent rendering across browsers.\n\n\n## Project Structure\n\n***src/:*** This directory contains the source code for the project.\n\n***src/assets/:*** Assets of the application including images and fonts.\n\n***src/components/:*** React components of the application.\n\n***src/context/:*** React Context for the application (includes auth, color, favorites, and modals contexts).\n***src/pages/:*** Pages of the application.\n***src/services/:*** Contains Firebase configuration file and API.\n\n\n## Material\n\nLivePages: https://ggalina.github.io/LearnLingo/\n\nRepository: https://github.com/GGalina/LearnLingo.git\n\nFigma design: https://www.figma.com/design/E1DcdF62O0enSSIH2S8dEj\n\nTechnical requirements: https://docs.google.com/document/d/1ZB_MFgnnJj7t7OXtv5hESSwY6xRgVoACZKzgZczWc3Y \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fggalina%2Flearnlingo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fggalina%2Flearnlingo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fggalina%2Flearnlingo/lists"}