{"id":28089270,"url":"https://github.com/wo0zz1/unolingo","last_synced_at":"2025-08-03T19:34:54.752Z","repository":{"id":290927006,"uuid":"968198654","full_name":"Wo0zZ1/unolingo","owner":"Wo0zZ1","description":"🌐 Unolingo 🎓 — это интерактивное мобильное приложение для изучения иностранных языков в игровой форме","archived":false,"fork":false,"pushed_at":"2025-05-08T16:24:04.000Z","size":483,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-08T16:33:02.333Z","etag":null,"topics":["nestjs-backend","postgresql","prisma-orm","react","react-native","typescript","unolingo"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Wo0zZ1.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2025-04-17T17:06:59.000Z","updated_at":"2025-05-08T16:24:08.000Z","dependencies_parsed_at":"2025-05-08T16:25:17.367Z","dependency_job_id":null,"html_url":"https://github.com/Wo0zZ1/unolingo","commit_stats":null,"previous_names":["wo0zz1/unolingo"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wo0zZ1%2Funolingo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wo0zZ1%2Funolingo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wo0zZ1%2Funolingo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wo0zZ1%2Funolingo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wo0zZ1","download_url":"https://codeload.github.com/Wo0zZ1/unolingo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253948335,"owners_count":21988953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["nestjs-backend","postgresql","prisma-orm","react","react-native","typescript","unolingo"],"created_at":"2025-05-13T12:55:47.511Z","updated_at":"2025-05-13T12:55:48.249Z","avatar_url":"https://github.com/Wo0zZ1.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\u003cb\u003e🌐 Unolingo 🎓\u003c/b\u003e\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\u003ci\u003eИзучайте языки легко и весело!\u003c/i\u003e\u003c/p\u003e\n\u003chr /\u003e\n\n**Unolingo** — это интерактивное мобильное приложение для изучения иностранных языков в игровой форме. Проект разработан в рамках учебной практики в вузе и сочетает в себе современные технологии с удобным интерфейсом.\n\n## 🔥 **Ключевые особенности**\n\n- 🎮 **Геймификация обучения** — система уровней, достижений и наград.\n- 📚 **Разнообразные упражнения** — словарные карточки, аудирование, грамматические тесты.\n- 📊 **Таблица рейтинга** — соревнуйтесь с другими пользователями.\n- 🌍 **Поддержка нескольких языков** — английский, испанский, французский и другие.\n- 🔄 **Синхронизация между устройствами** — ваш прогресс сохраняется в облаке.\n\n## 🛠 **Технологический стек**\n\n### **Frontend**\n\n- [React Native](https://reactnative.dev/) + [Expo](https://expo.dev/go) — кроссплатформенная разработка.\n- [Axios](https://axios-http.com/ru/) — работа с API.\n- [zustand](https://zustand-demo.pmnd.rs/) - state-менеджер\n- [Async storage](https://www.npmjs.com/package/@react-native-async-storage/async-storage) — работа с локальным хранилищем.\n- [TypeScript](https://www.typescriptlang.org/) — статическая типизация.\n\n### **Backend**\n\n- [NestJS](https://nestjs.com/) — масштабируемый backend на Node.js.\n- [Bcrypt](https://www.npmjs.com/package/bcrypt) — хеширование паролей.\n- [JWT](https://www.npmjs.com/package/@nestjs/jwt) — аутентификация.\n\n### **База данных**\n\n- [PostgreSQL](https://www.postgresql.org/) — реляционная СУБД для хранения данных.\n- [PrismaORM](https://www.prisma.io/) — работа с БД.\n\n## 🚀 **Установка и запуск**\n\n### **1. Клонирование репозитория с подмодулями**\n\n```bash\ngit clone --recurse-submodules https://github.com/Wo0zZ1/unolingo.git\ncd unolingo\n```\n\n#### 💡 **`TIP`**: Если репозиторий был склонирован без подмодулей, выполните:\n\n```bash\ngit submodule update --init --recursive\n```\n\n### **2. Настройка Backend**\n\n```bash\ncd backend\nyarn\n```\n\n#### 💡 **`TIP`**: Если у вас не установлен [yarn](https://yarnpkg.com/), вы можете заменить команду на `npm install`\n\n#### ⚠️ **`WARN`**: Не забудьте настроить переменные окружения `.env` на основе `.env.example`:\n\n### **3. Запуск Backend**\n\n```bash\ndocker compose build\ndocker compose up -d\n```\n\n#### 💡 **`TIP`**: Убедитесь, что у вас запущен [Docker Engine](https://docs.docker.com)\n\n####\n\n### **4. Настройка Frontend**\n\n```bash\ncd frontend\nyarn\n```\n\n#### 💡 **`TIP`**: Убедитесь, что вы вернулись в корневую директорию перед выполнением команды `cd frontend`\n\n#### 💡 **`TIP`**: Если у вас не установлен [yarn](https://yarnpkg.com/), вы можете заменить команду на `npm install`\n\n#### ⚠️ **`WARN`**: Не забудьте настроить переменные окружения `.env` на основе `.env.example`\n\n### **5. Запуск Frontend**\n\n```bash\nyarn start\n```\n\n#### 💡 **`TIP`**: Для работы на мобильным приложении установите [Expo Go](https://expo.dev/go)\n\n## 📱 Демо:\n\n### 1. Страница авторизации\n\n![ㅤ](https://github.com/Wo0zZ1/unolingo/raw/main/assets/registration.PNG)\n\n### 2. Страница профиля\n\n![ㅤ](https://github.com/Wo0zZ1/unolingo/raw/main/assets/profile.PNG)\n\n### 3. Страница статистики\n\n![ㅤ](https://github.com/Wo0zZ1/unolingo/raw/main/assets/statistic.PNG)\n\n### 4. Страница выбора уровня\n\n![ㅤ](https://github.com/Wo0zZ1/unolingo/raw/main/assets/map.PNG)\n\n### 5. Страница теории\n\n![ㅤ](https://github.com/Wo0zZ1/unolingo/raw/main/assets/theory.PNG)\n\n### 6. Страницы прохожения уровня\n\n![ㅤ](https://github.com/Wo0zZ1/unolingo/raw/main/assets/wordPicker.PNG)\n![ㅤ](https://github.com/Wo0zZ1/unolingo/raw/main/assets/textInput.PNG)\n\n### 7. Страница результатов прохождения уровня\n\n![ㅤ](https://github.com/Wo0zZ1/unolingo/raw/main/assets/levelComplete.PNG)\n\n## 📄 Лицензия\n\nCopyright © 2025 [Wo0zZ1](https://github.com/Wo0zZ1)\\\nЭтот проект использует [MIT](LICENSE) лицензию\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwo0zz1%2Funolingo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwo0zz1%2Funolingo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwo0zz1%2Funolingo/lists"}