@@ -145,85 +145,59 @@ graph TB
145145 end
146146
147147 subgraph "Application Layer - Modular Monolith"
148- subgraph "Authentication Module"
149- AuthController[Auth Controller]
150- JWTService[JWT Service]
151- UserModel[User Model]
152- end
153- subgraph "Analytics Module"
154- AnalyticsController[Analytics Controller]
155- end
156- subgraph "Competitive Module"
157- CompetitiveController[Competitive Controller]
158- end
159- subgraph "Dashboard Module"
160- DashboardController[Dashboard Controller]
161- end
162- subgraph "Matches Module"
163- MatchesController[Matches Controller]
164- end
165- subgraph "Players Module"
166- PlayersController[Players Controller]
167- end
168- subgraph "Riot_integration Module"
169- Riot_integrationController[Riot_integration Controller]
170- end
171- subgraph "Schedules Module"
172- SchedulesController[Schedules Controller]
173- end
174- subgraph "Scouting Module"
175- ScoutingController[Scouting Controller]
176- end
177- subgraph "Scrims Module"
178- ScrimsController[Scrims Controller]
179- end
180- subgraph "Team_goals Module"
181- Team_goalsController[Team_goals Controller]
182- end
183- subgraph "Vod_reviews Module"
184- Vod_reviewsController[Vod_reviews Controller]
185- end
186- subgraph "Dashboard Module"
187- DashboardController[Dashboard Controller]
188- DashStats[Statistics Service]
189- end
190- subgraph "Players Module"
191- PlayersController[Players Controller]
192- PlayerModel[Player Model]
193- ChampionPool[Champion Pool Model]
194- end
195- subgraph "Scouting Module"
196- ScoutingController[Scouting Controller]
197- ScoutingTarget[Scouting Target Model]
198- Watchlist[Watchlist Service]
199- end
200- subgraph "Analytics Module"
201- AnalyticsController[Analytics Controller]
202- PerformanceService[Performance Service]
203- KDAService[KDA Trend Service]
204- end
205- subgraph "Matches Module"
206- MatchesController[Matches Controller]
207- MatchModel[Match Model]
208- PlayerMatchStats[Player Match Stats Model]
209- end
210- subgraph "Schedules Module"
211- SchedulesController[Schedules Controller]
212- ScheduleModel[Schedule Model]
213- end
214- subgraph "VOD Reviews Module"
215- VODController[VOD Reviews Controller]
216- VODModel[VOD Review Model]
217- TimestampModel[Timestamp Model]
218- end
219- subgraph "Team Goals Module"
220- GoalsController[Team Goals Controller]
221- GoalModel[Team Goal Model]
222- end
223- subgraph "Riot Integration Module"
224- RiotService[Riot API Service]
225- RiotSync[Sync Service]
226- end
148+ subgraph "Authentication Module"
149+ AuthController[Auth Controller]
150+ JWTService[JWT Service]
151+ UserModel[User Model]
152+ end
153+ subgraph "Analytics Module"
154+ AnalyticsController[Analytics Controller]
155+ PerformanceService[Performance Service]
156+ KDAService[KDA Trend Service]
157+ end
158+ subgraph "Competitive Module"
159+ CompetitiveController[Competitive Controller]
160+ end
161+ subgraph "Dashboard Module"
162+ DashboardController[Dashboard Controller]
163+ DashStats[Statistics Service]
164+ end
165+ subgraph "Matches Module"
166+ MatchesController[Matches Controller]
167+ MatchModel[Match Model]
168+ PlayerMatchStats[Player Match Stats Model]
169+ end
170+ subgraph "Players Module"
171+ PlayersController[Players Controller]
172+ PlayerModel[Player Model]
173+ ChampionPool[Champion Pool Model]
174+ end
175+ subgraph "Riot Integration Module"
176+ RiotIntegrationController[Riot Integration Controller]
177+ RiotService[Riot API Service]
178+ RiotSync[Sync Service]
179+ end
180+ subgraph "Schedules Module"
181+ SchedulesController[Schedules Controller]
182+ ScheduleModel[Schedule Model]
183+ end
184+ subgraph "Scouting Module"
185+ ScoutingController[Scouting Controller]
186+ ScoutingTarget[Scouting Target Model]
187+ Watchlist[Watchlist Service]
188+ end
189+ subgraph "Scrims Module"
190+ ScrimsController[Scrims Controller]
191+ end
192+ subgraph "Team Goals Module"
193+ GoalsController[Team Goals Controller]
194+ GoalModel[Team Goal Model]
195+ end
196+ subgraph "VOD Reviews Module"
197+ VODController[VOD Reviews Controller]
198+ VODModel[VOD Review Model]
199+ TimestampModel[Timestamp Model]
200+ end
227201 end
228202
229203 subgraph "Data Layer"
@@ -240,64 +214,66 @@ end
240214 RiotAPI[Riot Games API]
241215 end
242216
217+ %% Conexões
243218 Client -->|HTTP/JSON| CORS
244219 CORS --> RateLimit
245220 RateLimit --> Auth
246221 Auth --> Router
247222
248223 Router --> AuthController
249- Router --> DashboardController
250- Router --> PlayersController
251- Router --> ScoutingController
252224 Router --> AnalyticsController
225+ Router --> CompetitiveController
226+ Router --> DashboardController
253227 Router --> MatchesController
228+ Router --> PlayersController
229+ Router --> RiotIntegrationController
254230 Router --> SchedulesController
255- Router --> VODController
231+ Router --> ScoutingController
232+ Router --> ScrimsController
256233 Router --> GoalsController
257- AuthController --> JWTService
234+ Router --> VODController
235+
236+ AuthController --> JWTService --> Redis
258237 AuthController --> UserModel
259- PlayersController --> PlayerModel
260- PlayerModel --> ChampionPool
238+ AnalyticsController --> PerformanceService --> Redis
239+ AnalyticsController --> KDAService
240+ DashboardController --> DashStats --> Redis
241+ MatchesController --> MatchModel --> PlayerMatchStats
242+ PlayersController --> PlayerModel --> ChampionPool
261243 ScoutingController --> ScoutingTarget
262244 ScoutingController --> Watchlist
263- MatchesController --> MatchModel
264- MatchModel --> PlayerMatchStats
265245 SchedulesController --> ScheduleModel
266- VODController --> VODModel
267- VODModel --> TimestampModel
268246 GoalsController --> GoalModel
269- AnalyticsController --> PerformanceService
270- AnalyticsController --> KDAService
271- AuditLogModel[AuditLog Model] --> PostgreSQL
272- ChampionPoolModel[ChampionPool Model] --> PostgreSQL
273- CompetitiveMatchModel[CompetitiveMatch Model] --> PostgreSQL
274- MatchModel[Match Model] --> PostgreSQL
247+ VODController --> VODModel --> TimestampModel
248+
249+ %% Conexões para PostgreSQL (modelos adicionais)
250+ AuditLogModel[Audit Log Model] --> PostgreSQL
251+ ChampionPool --> PostgreSQL
252+ CompetitiveMatchModel[Competitive Match Model] --> PostgreSQL
253+ MatchModel --> PostgreSQL
275254 NotificationModel[Notification Model] --> PostgreSQL
276- OpponentTeamModel[OpponentTeam Model] --> PostgreSQL
255+ OpponentTeamModel[Opponent Team Model] --> PostgreSQL
277256 OrganizationModel[Organization Model] --> PostgreSQL
278- PasswordResetTokenModel[PasswordResetToken Model] --> PostgreSQL
279- PlayerModel[Player Model] --> PostgreSQL
280- PlayerMatchStatModel[PlayerMatchStat Model] --> PostgreSQL
281- ScheduleModel[Schedule Model] --> PostgreSQL
282- ScoutingTargetModel[ ScoutingTarget Model] --> PostgreSQL
257+ PasswordResetTokenModel[Password Reset Token Model] --> PostgreSQL
258+ PlayerModel --> PostgreSQL
259+ PlayerMatchStats --> PostgreSQL
260+ ScheduleModel --> PostgreSQL
261+ ScoutingTarget --> PostgreSQL
283262 ScrimModel[Scrim Model] --> PostgreSQL
284- TeamGoalModel[TeamGoal Model] --> PostgreSQL
285- TokenBlacklistModel[TokenBlacklist Model] --> PostgreSQL
286- UserModel[User Model] --> PostgreSQL
287- VodReviewModel[VodReview Model] --> PostgreSQL
288- VodTimestampModel[VodTimestamp Model] --> PostgreSQL
289- JWTService --> Redis
290- DashStats --> Redis
291- PerformanceService --> Redis
292- PlayersController --> RiotService
293- MatchesController --> RiotService
294- ScoutingController --> RiotService
295- RiotService --> RiotAPI
296-
297- RiotService --> Sidekiq
298- Sidekiq --> JobQueue
299- JobQueue --> Redis
300-
263+ GoalModel --> PostgreSQL
264+ TokenBlacklistModel[Token Blacklist Model] --> PostgreSQL
265+ UserModel --> PostgreSQL
266+ VODModel --> PostgreSQL
267+ TimestampModel --> PostgreSQL
268+
269+ %% Integrações com Riot e Jobs
270+ PlayersController --> RiotService
271+ MatchesController --> RiotService
272+ ScoutingController --> RiotService
273+ RiotService --> RiotAPI
274+ RiotService --> Sidekiq --> JobQueue --> Redis
275+
276+ %% Estilos
301277 style Client fill:#e1f5ff
302278 style PostgreSQL fill:#336791
303279 style Redis fill:#d82c20
0 commit comments