{"id":48348867,"url":"https://github.com/trvannhanh/vocamon-project","last_synced_at":"2026-04-05T08:33:50.262Z","repository":{"id":313037811,"uuid":"1032439866","full_name":"trvannhanh/vocamon-project","owner":"trvannhanh","description":"A web application for learning and reviewing English vocabulary with gamification: study, practice, progress tracking, and a pet collection system.","archived":false,"fork":false,"pushed_at":"2026-03-26T16:58:40.000Z","size":31154,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-27T04:32:12.757Z","etag":null,"topics":["cloudinary","dotnet-core","education","english-vocabulary","gamification","language-learning-game","pokemon","react","signalr","sqlserver","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"C#","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/trvannhanh.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-05T10:02:38.000Z","updated_at":"2026-03-26T16:58:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"b1120b7b-4c65-45fe-92fe-8d824e5bed12","html_url":"https://github.com/trvannhanh/vocamon-project","commit_stats":null,"previous_names":["trvannhanh/wordsoul-project","trvannhanh/vocamon-project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/trvannhanh/vocamon-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trvannhanh%2Fvocamon-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trvannhanh%2Fvocamon-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trvannhanh%2Fvocamon-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trvannhanh%2Fvocamon-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trvannhanh","download_url":"https://codeload.github.com/trvannhanh/vocamon-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trvannhanh%2Fvocamon-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31430009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T08:13:15.228Z","status":"ssl_error","status_checked_at":"2026-04-05T08:13:11.839Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cloudinary","dotnet-core","education","english-vocabulary","gamification","language-learning-game","pokemon","react","signalr","sqlserver","tailwindcss"],"created_at":"2026-04-05T08:33:49.785Z","updated_at":"2026-04-05T08:33:50.250Z","avatar_url":"https://github.com/trvannhanh.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://github.com/trvannhanh/vocamon-project\"\u003e\u003cimg src=\"https://res.cloudinary.com/dqpkxxzaf/image/upload/v1759222012/egg-logo_pflvdz.png\" alt=\"vocamon\" width=\"100\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  Vocamon\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n  WordSoul — A web application for learning and reviewing English vocabulary with gamification (collecting pets, earning XP), incorporating scientific memory principles (spaced repetition + retrieval practice) for engaging and long-lasting learning.\n\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#project-overview\"\u003eProject Overview\u003c/a\u003e •\n  \u003ca href=\"#key-features\"\u003eKey Features\u003c/a\u003e •\n  \u003ca href=\"#architecture--design-principles\"\u003eArchitecture \u0026 Design Principles\u003c/a\u003e •\n  \u003ca href=\"#main-interface\"\u003eMain Interface\u003c/a\u003e •\n  \u003ca href=\"#installation-requirements\"\u003eInstallation Requirements\u003c/a\u003e •\n  \u003ca href=\"#how-to-use\"\u003eHow to Run the Project\u003c/a\u003e •\n  \u003ca href=\"#credits\"\u003eCredits\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Project Overview\n\nVocamon is a web application aimed at:\n- Combining scientific memory principles (SRS — spaced repetition; retrieval practice) with gamification to boost learning motivation.\n- Users learn through vocabulary sets, with each word progressing through a sequence of question types (Flashcard → Fill-in-Blank → MultipleChoice → Listening) and is considered mastered upon completing the sequence in a single session.\n- The system includes a pet mechanism: collect, upgrade, and evolve pets using XP/AP to enhance user engagement.\n\n---\n\n## Key Features\n\n- 📚 Smart Learning \u0026 Review: SRS-based scheduling, automatic review calendar.\n- 🔁 4 Question Types in a Session: Flashcard, Fill-in-Blank, MultipleChoice, Listening.\n- 🧠 State Machine for Each Word: Words transition between states based on correct/incorrect answers.\n- 🎮 Gamification: XP, pet collection and upgrades, reward animations.\n- 🗂 Vocabulary Set Management: Create, edit, add/remove words, permissions (owned/public).\n- 📊 Dashboard \u0026 Statistics: Proficiency charts, words due for review, learning progress.\n- 🏆 Leaderboard: Player ranking based on points.\n- 🔔 Realtime Notifications: SignalR for pushing event notifications (learning sessions, pet upgrades, etc.).\n- 🔒 Authentication \u0026 Authorization: JWT-based authentication, Admin/User roles.\n\n---\n\n## Architecture \u0026 Design Principles\n- Architecture: Modular Monolith (modules by function: User, Vocabulary, LearningSession, Pet, Reward, Notification).\n- Backend: ASP.NET Core (.NET 9 / .NET 8 compatible), Entity Framework Core (Code First), SQL Server.\n- Frontend: React (Vite + TypeScript), TailwindCSS.\n- Realtime: SignalR.\n- Storage Media: Cloudinary (images / audio pronunciation).\n- Patterns \u0026 Principles: Repository + Service, DTO, Dependency Injection, Unit of Work (DbContext), SOLID.\n\n---\n\n## Main Interface\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"\"\u003e\u003cimg src=\"https://res.cloudinary.com/dqpkxxzaf/image/upload/v1758452852/Final_IF_Session_tjkrvk.png\" alt=\"Session\" width=\"700\" style=\"margin:6px; border-radius:8px;\"\u003e\u003c/a\u003e\n  \u003ca href=\"\"\u003e\u003cimg src=\"https://res.cloudinary.com/dqpkxxzaf/image/upload/v1758452853/Final_IF_Static_ofkoge.png\" alt=\"Dashboard\" width=\"700\" style=\"margin:6px; border-radius:8px;\"\u003e\u003c/a\u003e\n\n  \u003ca href=\"\"\u003e\u003cimg src=\"https://res.cloudinary.com/dqpkxxzaf/image/upload/v1758452855/IF_SetList_jzmxrs.png\" alt=\"Set List\" width=\"700\" style=\"margin:6px; border-radius:8px;\"\u003e\u003c/a\u003e\n  \u003ca href=\"\"\u003e\u003cimg src=\"https://res.cloudinary.com/dqpkxxzaf/image/upload/v1758452854/IF_SetDetail_fa3dgl.png\" alt=\"Set Detail\" width=\"700\" style=\"margin:6px; border-radius:8px;\"\u003e\u003c/a\u003e\n  \u003ca href=\"\"\u003e\u003cimg src=\"https://res.cloudinary.com/dqpkxxzaf/image/upload/v1758452851/Final_IF_Set1_vnlpw6.png\" alt=\"Create Set - Step 1\" width=\"700\" style=\"margin:6px; border-radius:8px;\"\u003e\u003c/a\u003e\n  \u003ca href=\"\"\u003e\u003cimg src=\"https://res.cloudinary.com/dqpkxxzaf/image/upload/v1758452851/Final_IF_Set2_cwmmdw.png\" alt=\"Create Set - Step 2\" width=\"700\" style=\"margin:6px; border-radius:8px;\"\u003e\u003c/a\u003e\n\n  \u003ca href=\"\"\u003e\u003cimg src=\"https://res.cloudinary.com/dqpkxxzaf/image/upload/v1758452837/IF_PetList_can1tg.png\" alt=\"Pet List\" width=\"500\" style=\"margin:6px; border-radius:8px;\"\u003e\u003c/a\u003e\n  \u003ca href=\"\"\u003e\u003cimg src=\"https://res.cloudinary.com/dqpkxxzaf/image/upload/v1758452853/Final_IF_Pet_yqsneg.png\" alt=\"Pet Detail\" width=\"500\" style=\"margin:6px; border-radius:8px;\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Installation Requirements\n\nBefore running the project, install:\n\n- [Node.js](https://nodejs.org/) \u003e= 18  \n- [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/)  \n- [.NET SDK](https://dotnet.microsoft.com/download) \u003e= 8.0  \n- [SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-downloads)  \n\n## How To Use\n\nFrom the command line:\n\n```bash\n# Clone this repository\n$ git clone https://github.com/your-username/wordsoul\n\n# Go into the repository\n$ cd wordsoul\n\n# Backend\n$ cd wordsoulapi\n$ dotnet restore\n$ dotnet ef database update   # create database\n$ dotnet run\n\n# Frontend\n$ cd wordsoul-app\n$ npm install\n$ npm run dev\n```\n\n## Credit\nThe project was built with the following technologies and libraries:\n- Backend: ASP.NET Core, Entity Framework Core, SQL Server, SignalR, Cloudinary\n- Frontend: React, Vite, TypeScript, TailwindCSS\n- Tools: Git, Visual Studio, VS Code\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrvannhanh%2Fvocamon-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrvannhanh%2Fvocamon-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrvannhanh%2Fvocamon-project/lists"}