{"id":30619068,"url":"https://github.com/best-team-compfest17/calisfun","last_synced_at":"2026-04-07T07:02:44.526Z","repository":{"id":310952193,"uuid":"1041853320","full_name":"best-team-compfest17/CalisFun","owner":"best-team-compfest17","description":"🔥 CalisFun GitHub Monorepo - SEA Academy Compfest 17 - Team 1","archived":false,"fork":false,"pushed_at":"2025-08-21T08:00:41.000Z","size":2059,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-21T08:41:01.597Z","etag":null,"topics":["azure","dart","expressjs","flask","flutter","jwt","mongodb","multer","nodejs","openai","python","react","shadcn-ui","tailwindcss","typescript","vercel","vite"],"latest_commit_sha":null,"homepage":"https://calis-fun.vercel.app","language":"Shell","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/best-team-compfest17.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}},"created_at":"2025-08-21T05:36:07.000Z","updated_at":"2025-08-21T08:00:45.000Z","dependencies_parsed_at":"2025-08-21T08:51:07.663Z","dependency_job_id":null,"html_url":"https://github.com/best-team-compfest17/CalisFun","commit_stats":null,"previous_names":["best-team-compfest17/calisfun"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/best-team-compfest17/CalisFun","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/best-team-compfest17%2FCalisFun","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/best-team-compfest17%2FCalisFun/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/best-team-compfest17%2FCalisFun/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/best-team-compfest17%2FCalisFun/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/best-team-compfest17","download_url":"https://codeload.github.com/best-team-compfest17/CalisFun/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/best-team-compfest17%2FCalisFun/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272847477,"owners_count":25003207,"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","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"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":["azure","dart","expressjs","flask","flutter","jwt","mongodb","multer","nodejs","openai","python","react","shadcn-ui","tailwindcss","typescript","vercel","vite"],"created_at":"2025-08-30T12:17:01.495Z","updated_at":"2025-12-30T18:51:44.827Z","avatar_url":"https://github.com/best-team-compfest17.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cdiv\u003e\n        \u003cimg height=\"150px\" src=\"./images/logo.png\" alt=\"CalisFun Logo\"/\u003e\n    \u003c/div\u003e\n    \u003cdiv\u003e\n            \u003ch3\u003e\u003cb\u003eCalisFun\u003c/b\u003e\u003c/h3\u003e\n            \u003cp\u003e\u003ci\u003eCerdas Sejak Dini, Seru Sepanjang Hari!\u003c/i\u003e\u003c/p\u003e\n    \u003c/div\u003e      \n\u003c/div\u003e\n\u003cbr\u003e\n\u003ch1 align=\"center\"\u003eCalisFun - SEA Compfest Academy 17\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"./images/banner.png\" alt=\"CalisFun Preview\"/\u003e\n\n\u003c/div\u003e\n\u003cbr\u003e\n\n**CalisFun** is an innovative **learning application** designed to help children practice and improve their **handwriting, spelling, and counting skills** in a fun and engaging way.  \nThe app combines **interactive exercises and AI-powered tools** to make learning enjoyable both for kids and supportive for parents.  \n\nBuilt with a multi-platform ecosystem:\n- **Mobile App (Flutter)** → Main platform for children’s learning experience.  \n- **Web Frontend** → Landing page for SEO visibility, APK download, and **Admin Dashboard**.  \n- **Backend (Express.js + MongoDB)** → API services for authentication, content management, and progress tracking.  \n- **AI Services (Flask + Hugging Face + Azure OpenAI)** → OCR for handwriting detection and AI Chatbot assistant.  \n\nCalisFun bridges **education and technology**, making foundational learning both **accessible and entertaining**.  \n\n\u003ca href=\"https://github.com/best-team-compfest17\"\u003eCalisFun GitHub Organization - Team 1\u003c/a\u003e\n\n---\n\n## 📃 Table of Contents\n- [📝 CalisFun Repository Documentation](#-calisfun-repository-documentation)\n- [📈 Pitch Deck](#-pitch-deck)\n- [⚙️ Technology Stack](#-technology-stack)\n- [🧩 Core Features](#-core-features)\n- [🚀 Live App Demo](#-live-app-demo)\n- [🧰 Getting Started Locally](#-getting-started-locally)\n- [🚀 Diagram](#-diagram)\n- [👥 Owner](#-owner)\n- [📬 Contact](#-contact)\n\n---\n\n## 📝 CalisFun Repository Documentation\n\n\u003e [!TIP]\n\u003e \n\u003e For more detail and specific documentation, please read the documentation from each of our repository\n\n\u003cul\u003e\n    \u003cli\u003e\u003cb\u003eMain Repository (current)\u003c/b\u003e\u003c/li\u003e\n    \u003ca href=\"https://github.com/best-team-compfest17/CalisFun\"\u003ehttps://github.com/best-team-compfest17/CalisFun\u003c/a\u003e\n    \u003cli\u003e\u003cb\u003eFrontend Mobile Repository\u003c/b\u003e\u003c/li\u003e\n    \u003ca href=\"https://github.com/best-team-compfest17/CalisFun-Mobile\"\u003ehttps://github.com/best-team-compfest17/CalisFun-Mobile\u003c/a\u003e\n    \u003cli\u003e\u003cb\u003eFrontend Website Repository\u003c/b\u003e\u003c/li\u003e\n    \u003ca href=\"https://github.com/best-team-compfest17/CalisFun-Web\"\u003ehttps://github.com/best-team-compfest17/CalisFun-Web\u003c/a\u003e\n    \u003cli\u003e\u003cb\u003eBackend Repository\u003c/b\u003e\u003c/li\u003e\n    \u003ca href=\"https://github.com/best-team-compfest17/CalisFun-Backend\"\u003ehttps://github.com/best-team-compfest17/CalisFun-Backend\u003c/a\u003e\n    \u003cli\u003e\u003cb\u003eAI Repository\u003c/b\u003e\u003c/li\u003e\n    \u003ca href=\"https://github.com/best-team-compfest17/CalisFun-AI\"\u003ehttps://github.com/best-team-compfest17/CalisFun-AI\u003c/a\u003e\n\u003c/ul\u003e\n\n---\n\n## 📚 More Documenation\n\n\u003cul\u003e\n    \u003cli\u003e\u003cb\u003ePitch Deck (Canva)\u003c/b\u003e\u003c/li\u003e\n    \u003ca href=\"https://www.canva.com/design/DAGwNK5Gu4Q/gxKCQl_HwVlo95zU_y5Alg/edit?utm_content=DAGwNK5Gu4Q\u0026utm_campaign=designshare\u0026utm_medium=link2\u0026utm_source=sharebutton\"\u003ePitch Deck - Canva\u003c/a\u003e\n    \u003cli\u003e\u003cb\u003eCalisFun Application Demo Video\u003c/b\u003e\u003c/li\u003e\n    \u003ca href=\"https://drive.google.com/drive/folders/1ALn_nx5Z93iAY5lw-pnxnP40bCWzajjn?usp=sharing\"\u003eCalisFun Application Demo Video\u003c/a\u003e\n    \u003cli\u003e\u003cb\u003eCalisFun Mobile Application (download)\u003c/b\u003e\u003c/li\u003e\n    \u003ca href=\"https://drive.google.com/drive/folders/1LYj5Aue0JOMmDMeRlu_nA0L04DEDNKlH?usp=sharing\"\u003eCalisFun Mobile Application (download)\u003c/a\u003e\n\u003c/ul\u003e\n\n\n\n---\n\n## ⚙️ Technology Stack\n\n### Frontend Mobile - Technology Stack\n\n\u003cdiv align=\"center\"\u003e\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/flutter.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/dart.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg width=\"60\" height=\"60\" alt=\"image\" src=\"https://github.com/user-attachments/assets/c8f92fa3-6e71-40c2-8b8d-3301c6c1f996\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg width=\"60\" height=\"60\" alt=\"image\" src=\"https://github.com/user-attachments/assets/a1d7fbb5-a3f7-415d-8d69-3625e930f38e\" /\u003e\u003c/kbd\u003e\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ch4\u003eFlutter | Dart | Dio | Riverpod\u003c/h4\u003e\n\u003c/div\u003e\n\n### Backend - Technology Stack\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/node_js.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/express.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/mongodb.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"./images/tech/jwt.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"./images/tech/multer.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"./images/tech/vercel.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"./images/tech/azure.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ch4\u003eNode JS | Express JS | MongoDB | JWT | Multer | Vercel | Microsoft Azure\u003c/h4\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n### Frontend Web - Technology Stack\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/react.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/typescript.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/vite.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/tailwind_css.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/shadcn_ui.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"./images/tech/vitest.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ch4\u003eReact | TypeScript | Vite | TailwindCSS | ShadcnUI | Vitest\u003c/h4\u003e\n\u003c/div\u003e\n\n\n### AI - Technology Stack\n\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/python.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/flask.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"https://huggingface.co/front/assets/huggingface_logo-noborder.svg\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"./Images/tech/azure.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"./images/tech/openai.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=\"https://raw.githubusercontent.com/marwin1991/profile-technology-icons/refs/heads/main/icons/docker.png\" height=\"60\" /\u003e\u003c/kbd\u003e\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ch4\u003ePython | Flask | Hugging Face | Microsoft Azure | OpenAI | Docker\u003c/h4\u003e\n\u003c/div\u003e\n\n\n---\n\n\n## 🧩 Core Features\n\n### ✍️ Handwriting Practice (AI + OCR)\n- Interactive canvas for kids to practice handwriting.  \n- Flutter MLKit evaluates written letters/words in real-time.  \n- Provides instant realtime feedback.\n\n### 🔡 Spelling Game\n- Audio-assisted spelling learn.\n- Progressive level to help children learn more about how to spell correctly. \n\n### 🔢 Counting Challenges\n- Interactive counting mini-games.  \n- Timed challenges to improve **speed and accuracy** in basic math.  \n\n### 🏆 Leaderboard \u0026 Rewards\n- Gamified leaderboard to encourage friendly competition.  \n- Level up your account and earn streaks for completing daily counting exercise\n\n### 👨‍👩‍👧 Parent Dashboard\n- Parents can **track child’s progress** (handwriting accuracy, spelling scores, counting levels).  \n- Manage child accounts and set study goals.\n\n### 🌐 Web Platform\n- Landing page with SEO optimization → shareable and accessible for new users.  \n- Direct APK download for Android users.  \n- **Admin Dashboard** for managing questions, content, and user accounts.  \n\n### 🧠 AI-Powered Tools\n- **AI Chatbot (Azure OpenAI)** → Friendly assistant for Q\u0026A, learning support, or help navigating the app.\n\n\n---\n\n\n## 🚀 Live App Demo\n\n### Frontend - Mobile Download\n(please go to the Mobile Repository to download the app)\n\n👉 [Google Drive - CalisFun Mobile Application](https://drive.google.com/drive/folders/1LYj5Aue0JOMmDMeRlu_nA0L04DEDNKlH?usp=sharing)\n\n### Frontend - Website\n\n👉 [https://calis-fun.vercel.app/](https://calis-fun.vercel.app/)\n\n### Backend - Deployed API\n\n👉 [https://calis-fun-backend.vercel.app/](https://calis-fun-backend.vercel.app/)\n\n---\n\n## 🧰 Getting Started Locally\n\n### Prerequisites\n\nGeneral\n- **Git**\n\nFrontend - Mobile\n- **Dart**\n- **Flutter SDK**\n- **Android Studio** (optional)\n\nFrontend - Website\n- **Node.js** (v16+)\n\nBackend\n- **Node.js** (v16+)\n- **MongoDB**\n- **MongoDB Compass** (optional)\n- **Postman** (optional)\n\nAI\n- **Python**\n- **Docker** (optional)\n\n### Clone the Project - For each service (option 1, recommended)\n```bash\nRead specific README Documentation in each GitHub Repo\n```\n\n### Clone the Project - Using CalisFun Monorepo (option 2, using this repo)\n```bash\ngit clone https://github.com/best-team-compfest17/CalisFun.git\ncd CalisFun\n\n# If prefer using shell script\n\n./scripts/setup.sh # Pull from the origin repository (get update changes)\n\n./scripts/dev.sh frontend-web # to run the website\n./scripts/dev.sh frontend-mobile # to run the mobile (for now please just use the documentation in CalisFun-Mobile Repository)\n./scripts/dev.sh backend # to run the backend\n./scripts/dev.sh ai # to run the ai\n./scripts/dev.sh dev # run all services\n\n# If prefer using Makefile (configuration needed)\n\nmake init          # init submodules\nmake update        # update all submodules\nmake dev           # run all services\nmake frontend-web  # to run the website\nmake frontend-mobile # to run the mobile (for now please just use the documentation in CalisFun-Mobile Repository)\nmake backend # to run the backend\nmake ai # to run the ai\n\n```\n\n---\n\n## 🧭 Diagram\n\n*Architecture Diagram of CalisFun*\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./images/architecture-diagram.png\" width=\"700\"\u003e\n\u003c/p\u003e\n\nThis is how our application built on and connect cross services.\n\n*Use Case Diagram of CalisFun*\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./images/use-case.png\" width=\"700\"\u003e\n\u003c/p\u003e\n\nThis is all use case that can be done in CalisFun started for user, parent, and admin role.\n\n*Overall Database System Flow (ERD Diagram):*\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./images/diagram.png\" width=\"700\"\u003e\n\u003c/p\u003e\n\nThis diagram shows how the models connected using ERD Diagram\n\n---\n\n## 👥 Owner\n\nThis Repository is created by Team 1\n\u003cul\u003e\n\u003cli\u003eStanley Nathanael Wijaya - Fullstack Developer\u003c/li\u003e\n\u003cli\u003eHaikal Iman F - Mobile Developer\u003c/li\u003e\n\u003cli\u003eMuhammad Favian Jiwani - Mobile Developer\u003c/li\u003e\n\u003cli\u003eRaditya Ramadhan - Backend Developer\u003c/li\u003e\n\u003cli\u003eMuhammad Ridho Ananda - Mentor\u003c/li\u003e\n\u003c/ul\u003e\nAs Final Project for SEA Academy Compfest 17\n\n---\n\n## 📬 Contact\nHave questions or want to collaborate?\n\n- 📧 Email: stanley.n.wijaya7@gmail.com\n- 💬 Discord: `stynw7`\n\n\u003ccode\u003eMade with ❤️ by The Calon Best Team\u003c/code\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbest-team-compfest17%2Fcalisfun","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbest-team-compfest17%2Fcalisfun","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbest-team-compfest17%2Fcalisfun/lists"}