How yohannesdd78/webappproject works
Zeno is a learning web application with a Java/Spring API and JavaScript learning screens. Learners can study Python lessons, complete assignments, and use community, profile, milestones, and leaderboard features; the API has domain areas for accounts, assignments, progress, incentives, and leaderboard data. The backend follows controller, service, and repository layers, with entity/front models for persistence and API-facing data. Source excerpts establish several backend relationships; the empty README and unsampled UI/API wiring limit evidence for how the browser connects to the API.
Main entry points: Mappers Model mappers · Entities Domain entities · repositories Repositories · AssignmentServiceImpl.java Assignment logic
Components 23
Learning experience
- Lesson content
js/data.js - Study lessons
js/study.js - Assignment screen
js/tasks.js - Home dashboard
js/home.js
Community and ranking
- Community
js/community.js - Milestones
js/milestones.js - Profile
js/profile.js - Leaderboard screen
js/leaderboard.js
API endpoints
- Assignment API
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/AssignmentController.java - Incentive API
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/IncentiveControllers.java - Progress API
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/ProgressController.java - Leaderboard API
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/LeaderboardController.java - Account API
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/UserAccountInfoController.java
Business services
- Assignment logic
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/AssignmentServiceImpl.java - Incentive logic
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/IncentiveServiceImpl.java - Progress logic
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/ProgressServiceImpl.java - Leaderboard logic
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/LeaderboardServiceImpl.java - Account logic
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/UserAccountInfoServiceImpl.java
Persistence and models
- Repositories
API/src/main/java/com/zenoAppAPI/ZenoWebApp/repositories - Domain entities
API/src/main/java/com/zenoAppAPI/ZenoWebApp/domain/Entities - Front models
API/src/main/java/com/zenoAppAPI/ZenoWebApp/domain/Fronts - Model mappers
API/src/main/java/com/zenoAppAPI/ZenoWebApp/Mappers
Other components
- Learner
Connections 29
- Learner → Study lessons: studies
- Learner → Assignment screen: completes
- Learner → Community: visits
- Learner → Profile: views
- Learner → Leaderboard screen: checks rank
- Study lessons → Lesson content: reads lessons
js/study.js - Assignment screen → Lesson content: reads content
js/tasks.js - Home dashboard → Lesson content: reads content
js/home.js - Assignment API → Assignment logic: delegates to
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/AssignmentController.java - Incentive API → Incentive logic: delegates to
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/IncentiveControllers.java - Progress API → Progress logic: delegates to
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/ProgressController.java - Leaderboard API → Leaderboard logic: delegates to
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/LeaderboardController.java - Account API → Account logic: delegates to
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/UserAccountInfoController.java - Assignment logic → Repositories: uses repositories
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/AssignmentServiceImpl.java - Incentive logic → Repositories: uses repositories
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/IncentiveServiceImpl.java - Progress logic → Repositories: uses repositories
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/ProgressServiceImpl.java - Leaderboard logic → Repositories: uses repositories
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/LeaderboardServiceImpl.java - Assignment logic → Domain entities: uses entities
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/AssignmentServiceImpl.java - Incentive logic → Domain entities: uses entities
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/IncentiveServiceImpl.java - Progress logic → Domain entities: uses entities
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/ProgressServiceImpl.java - Leaderboard logic → Domain entities: uses entities
API/src/main/java/com/zenoAppAPI/ZenoWebApp/services/ServiceImplementations/LeaderboardServiceImpl.java - Account logic → Domain entities: uses entities
- Assignment API → Model mappers: maps models
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/AssignmentController.java - Incentive API → Model mappers: maps models
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/IncentiveControllers.java - Progress API → Model mappers: maps models
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/ProgressController.java - Leaderboard API → Model mappers: maps models
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/LeaderboardController.java - Account API → Model mappers: maps models
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/UserAccountInfoController.java - Model mappers → Domain entities: converts
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/AssignmentController.java - Model mappers → Front models: converts
API/src/main/java/com/zenoAppAPI/ZenoWebApp/controllers/AssignmentController.java