How rmouahid/codyngame works
CodYngame is a JavaFX coding-exercise desktop app. Its documented workflow is account access, exercise and language selection, solution editing and sandboxed checking, followed by score and submission-history tracking. The graph includes the INCLUDE exercise path shown in source and the broader documented capabilities; unsampled standard-exercise and dashboard wiring is not inferred. Edges are limited to relationships visible in excerpts, the source index, or README.
Main entry points: IncludeExerciseController.java Include exercise · DatabaseConnection.java Database connection · LoginController.java Login · SubmissionDAO.java Submission records
Components 21
Desktop interface
- JavaFX entry
src/main/java/com/codyngame/Main.java - Login
src/main/java/controller/LoginController.java - Exercise selection
src/main/java/controller/IncludeChoiceController.java - Include exercise
src/main/java/controller/IncludeExerciseController.java - Home
src/main/java/controller/HomeController.java - Dashboard
src/main/java/controller/DashboardController.java - Profile
src/main/java/controller/ProfilController.java - Edit profile
src/main/java/controller/EditProfileController.java
Exercises and execution
- Exercise catalog
src/main/java/model/ExerciseDAO.java - Languages
src/main/java/model/LanguageDAO.java - Include code merge
src/main/java/utils/FusionneurCode3.java - Code sandbox
src/main/java/utils/Sandbox.java - Test cases
src/main/java/model/TestCaseDAO.java
Accounts and progress
- User accounts
src/main/java/model/UserDAO.java - Current session
src/main/java/utils/Session.java - Submission records
src/main/java/model/SubmissionDAO.java - Submission statistics
src/main/java/utils/SubmissionStats.java
Persistence
- Database connection
src/main/java/model/DatabaseConnection.java - MySQL database
src/main/resources/database/database.sql
Other components
- User
- Docker runtime
Connections 25
- User → JavaFX entry: opens app
README.md - JavaFX entry → Login: loads view
src/main/java/com/codyngame/Main.java - User → Login: signs in
README.md - Login → User accounts: checks credentials
src/main/java/controller/LoginController.java - Login → Current session: sets session
src/main/java/controller/LoginController.java - Exercise selection → Languages: loads languages
src/main/java/controller/IncludeChoiceController.java - Exercise selection → Exercise catalog: filters exercises
src/main/java/controller/IncludeChoiceController.java - Exercise selection → Include exercise: opens selection
src/main/java/controller/IncludeChoiceController.java - Include exercise → Test cases: loads tests
src/main/java/controller/IncludeExerciseController.java - Include exercise → Include code merge: merges solution
src/main/java/controller/IncludeExerciseController.java - Include code merge → Code sandbox: runs code
src/main/java/utils/FusionneurCode3.java - Code sandbox → Docker runtime: executes in
README.md - Include exercise → Submission records: records result
src/main/java/controller/IncludeExerciseController.java - Include exercise → User accounts: updates score
src/main/java/controller/IncludeExerciseController.java - Home → Current session: reads session
src/main/java/controller/HomeController.java - Profile → Submission records: loads history
src/main/java/controller/ProfilController.java - Dashboard → User: shows progress
README.md - Edit profile → Current session: reads session
src/main/java/controller/EditProfileController.java - Edit profile → Database connection: updates account
src/main/java/controller/EditProfileController.java - User accounts → Database connection: queries
src/main/java/model/UserDAO.java - Exercise catalog → Database connection: queries
src/main/java/model/ExerciseDAO.java - Submission records → Database connection: queries
src/main/java/model/SubmissionDAO.java - Submission records → Submission statistics: builds statistics
src/main/java/model/SubmissionDAO.java - Database connection → MySQL database: connects to
README.md - Include exercise → Test cases: checks outputs
README.md