How danielnguyen0705/ie303 works
UIFIVE is a microservices online-learning platform. Learners enter through the React frontend and API gateway, authenticate, browse structured lessons and practice, then receive progress and learning insights; AI-assisted writing/speaking evaluation and personalized practice are additional learning paths. Gamification and payments support motivation and premium access. The README documents several services whose source paths are absent from the supplied tree; those are shown with null paths. Service-to-service links reflect documented responsibilities, while detailed runtime wiring is only asserted where documented or evident in sampled code.
Main entry points: ie303/uifive AI learning · ie303/uifive Learning content · ie303/uifive Quests and shop · src Web frontend
Components 19
Learner client
- Web frontend
Frontend/src
Learning services
- Learning content
ContentService/src/main/java/com/ie303/uifive - Learning progress
Identity and platform
- API gateway
- Identity service
- Service registry
EurekaService/src/main/java/com/ie303/eurekaserver/EurekaServiceApplication.java
Engagement and commerce
- Quests and shop
GamificationService/src/main/java/com/ie303/uifive - Payments
- Notifications
AI and insights
- AI learning
AIService/src/main/java/com/ie303/uifive - ML predictions
MLService/app.py
Other components
- Learner / admin
- NVIDIA LLM API
- Cloudinary storage
- VNPAY / VietQR
- RabbitMQ
- Service databases
- Redis cache
- Google OAuth2
Connections 25
- Learner / admin → Web frontend: uses
- Web frontend → API gateway: API requests
- API gateway → Identity service: routes auth
- API gateway → Learning content: routes content
- API gateway → Learning progress: routes progress
- API gateway → AI learning: routes AI
- API gateway → Quests and shop: routes rewards
- API gateway → Payments: routes checkout
- Identity service → Google OAuth2: OAuth2 login
- Identity service → Service databases: reads / writes
- Learning content → Service databases: reads / writes
- Learning content → Redis cache: caches content
- Learning progress → Service databases: stores progress
- AI learning → Learning content: fetches content
- AI learning → Learning progress: fetches learner data
- AI learning → NVIDIA LLM API: generates / evaluates
- AI learning → Cloudinary storage: stores media
- Learning progress → ML predictions: requests prediction
- Quests and shop → Service databases: stores rewards
- Quests and shop → RabbitMQ: uses messaging
- Payments → VNPAY / VietQR: checkout / webhook
- Payments → RabbitMQ: publishes completion
- Notifications → RabbitMQ: consumes events
- Notifications → Learner / admin: sends reminders
- API gateway → Service registry: discovers services