Kapi - Japanese Learning App
Master Japanese vocabulary and grammar with ease!
Kapi is a cutting-edge mobile application tailored for learners eager to master Japanese in a fun, interactive, and efficient way. By integrating powerful tools like flashcards, grammar explanations, and engaging exercises, Kapi ensures that learning is always productive and enjoyable. Whether you’re a beginner or an advanced learner, Kapi offers a personalized experience that adapts to your pace and keeps you motivated.
-
Vocabulary Flashcards with Smart Reviews
- Build your vocabulary with custom flashcards.
- Set automatic review reminders (after 1, 3, 5 days) to boost long-term memory retention.
-
In-Depth Grammar Explanations
- Access a detailed library of grammar points with real-world examples.
- Get grammar guidance in-app with intuitive pop-up explanations.
-
Engaging Learning Exercises
- Answer quick yes/no questions under time pressure, improving your response time and memory recall.
-
Personalized Learning Profiles
- Track your lessons, flashcards, grammar progress, and review history all in one place.
-
Leaderboard & Checkpoints
- Compete with friends and other learners through a global leaderboard system.
- Progress through checkpoints to unlock new challenges and keep motivation high.
-
Smooth Video Learning
- Watch short, impactful educational videos hosted on Cloudinary for a seamless viewing experience.
-
Smart Reminders & Notifications
- Receive tailored, timely reminders for vocabulary and grammar reviews to keep you on track.
-
Frontend:
- Built with React Native and Expo for a fast, native-like mobile experience.
- TailwindCSS ensures a clean, consistent, and responsive design.
- Expo Router for an intuitive and fluid navigation experience.
-
Backend:
- NestJS powers the backend with scalable, maintainable server logic.
- OAuth with Google simplifies user login, combined with JWT for secure authentication.
-
Database:
- PostgreSQL manages structured data like user profiles, lessons, and flashcards.
- Firebase powers real-time sync for enhanced user experience.
-
Cloud Storage:
- Cloudinary stores and delivers high-quality videos for efficient learning on the go.
-
Mini-Games for Learning:
- Engage in interactive games to reinforce vocabulary and grammar in a fun and challenging way.
-
Push Notifications:
- Get reminders for reviews directly via Zalo or phone notifications, similar to Duolingo’s system.
-
AI-Powered Learning Recommendations:
- Leverage AI to provide personalized learning paths based on user progress, suggesting specific flashcards, lessons, or grammar points that need more attention.
-
Admin Dashboard:
- A powerful admin panel for content management, course creation, and tracking user progress.
native
: a react-native app built with expoweb
: a Next.js app built with react-native-webnest
: a Nest.js@repo/ui
: a stub react-native component library shared by bothweb
andnative
applications@repo/typescript-config
:tsconfig.json
s used throughout the monorepo
Each package/app is 100% TypeScript.
This Turborepo has some additional tools already setup for you:
- Expo for native development
- TypeScript for static type checking
- Prettier for code formatting
Follow this guide: Creating an OAuth App
- Authorized JavaScript origins:
http://localhost:3001
- Authorized redirect URIs:
http://localhost:3001/auth/google/callback
Save the Client ID and Client Secret for the next step.
$ yarn install
$ yarn run dev
$ cd server
$ cp .env.example .env
$ cd server
$ npx prisma migrate dev --name <name-migrate>