@@ -222,183 +222,63 @@ Here are some detailed flowcharts illustrating the high-level architecture of ou
222222
223223### Movie Data Flow Architecture
224224
225- ```
226- +----------------+ +--------------------------+
227- | | | |
228- | Various | | Public API Sources |
229- | Data Sources | | (TMDB API, IMDB API) |
230- | | | |
231- +--------+-------+ +-------------+------------+
232- | |
233- | |
234- v v
235- +------------------+ +--------------------------+ +-----------------------+
236- | | | | | |
237- | Custom Crawler | | API Fetcher Service | | Manual Data Entry |
238- | (Crawls on | | (via Axios, Fetch API) | | (Adminstrators & |
239- | Wikipedia, | | | | Maintainers Only) |
240- | Rotten Tomatoes, | +-------------+------------+ | |
241- | and other URLs) | | +-----------------------+
242- | | | |
243- +--------+---------+ | |
244- | | |
245- +--------------+-------------------------------------------------+
246- |
247- v
248- +-----------------------+
249- | |
250- | Data Processing |
251- | (Cleaning, Filtering, |
252- | Structuring, and |
253- | Storing Data) |
254- | |
255- +-----------------------+
256- |
257- |
258- |
259- +--------------------------------+
260- | AI/ML Processing |
261- | - Sentiment Analysis |
262- | - Anomaly Detection |
263- | - Data Enrichment |
264- | - Predictive Analytics |
265- | - Clustering & Categorization |
266- | - and more... |
267- +--------------------------------+
268- |
269- |
270- +--------------------+------------------+
271- | |
272- v v
273- +----------------------------+ +----------------------------+
274- | PostgreSQL / MySQL | | MongoDB |
275- | (Structured Movie Data) | | (Flexible Movie Metadata) |
276- | - Titles, Ratings | | - Reviews, Comments |
277- | - Cast & Crew | | - Dynamic Movie Metadata |
278- | - Box Office, Budgets | | - JSON-based Documents |
279- | - and more... | | - and more... |
280- +----------------------------+ +----------------------------+
281- \ /
282- \ /
283- \ /
284- \ /
285- \ /
286- v v
287- +----------------------------------+ +-------------------------+
288- | Django Backend API | | Flask (For Testing) |
289- | (Unified Movie Data Access) | | - Sample API Endpoints |
290- | - Combines SQL & NoSQL Data | <---> | - Lightweight Testing |
291- | - Provides REST/GraphQL API | | - Quick Prototyping |
292- | - Handles Authentication | +-------------------------+
293- | - Business Logic Processing |
294- +----------------------------------+
295- |
296- v
297- +---------------------+
298- | |
299- | Frontend |
300- | (Consumer of API) |
301- | |
302- +---------------------+
225+ ``` mermaid
226+ flowchart LR
227+ subgraph Sources
228+ Various["Various Data Sources"]
229+ PublicAPIs["Public API Sources<br/>TMDB, IMDB, etc."]
230+ Manual["Manual Data Entry<br/>(Admins & Maintainers)"]
231+ end
232+
233+ Crawler["Custom Crawler<br/>(Wikipedia, Rotten Tomatoes, etc.)"]
234+ Fetcher["API Fetcher Service<br/>(Axios/Fetch)"]
235+ Processing["Data Processing<br/>(clean, filter, structure, store)"]
236+ AI["AI/ML Processing<br/>Sentiment, Anomaly, Enrichment,<br/>Predictive, Clustering, etc."]
237+ SQLDB["PostgreSQL / MySQL<br/>Structured Movie Data"]
238+ Mongo["MongoDB<br/>Flexible Movie Metadata"]
239+ Django["Django Backend API<br/>Unified Movie Data Access"]
240+ Flask["Flask (Testing)<br/>Sample endpoints / prototyping"]
241+ Frontend["Frontend<br/>(API consumer)"]
242+
243+ Various --> Crawler --> Processing
244+ PublicAPIs --> Fetcher --> Processing
245+ Manual --> Processing
246+ Processing --> AI --> SQLDB
247+ AI --> Mongo
248+ SQLDB & Mongo --> Django
249+ Django <--> Flask
250+ Django --> Frontend
251+
252+ classDef db fill:#0ea5e9,stroke:#0369a1,color:#fff
253+ class SQLDB,Mongo db
303254```
304255
305256### User Data Flow Architecture
306257
307- ```
308- +-----------------------+
309- | User Frontend |
310- | (Sign Up, Login, |
311- | Profile Updates, |
312- | Game Scores, etc.) |
313- +-----------+-----------+
314- |
315- v
316- +----------------------------+
317- | Firebase Authentication |
318- | (User Sign-In, Sign-Up, |
319- | Password Management, |
320- | Token Generation) |
321- +-----------+----------------+
322- |
323- v
324- +-----------------------------+
325- | Firebase Firestore |
326- | (User Profiles, Game Data, |
327- | Leaderboards, Quiz Scores |
328- | Preferences, Settings) |
329- +-----------+-----------------+
330- |
331- v
332- +----------------------------+
333- | Firebase Cloud Functions |
334- | (Server-side Processing, |
335- | Security Rules, |
336- | Automated Tasks) |
337- +-----------+----------------+
338- |
339- |
340- v
341- +----------------------------+
342- | Frontend (Dashboard) |
343- | (Displays User Data, |
344- | Scores, Leaderboards, |
345- | Profile Info) |
346- +----------------------------+
258+ ``` mermaid
259+ flowchart TD
260+ UserUI["User Frontend<br/>Sign up/login, profiles, game scores"]
261+ Auth["Firebase Authentication<br/>Sign-in, password mgmt, tokens"]
262+ Store["Firebase Firestore<br/>Profiles, game data, leaderboards, prefs"]
263+ Functions["Firebase Cloud Functions<br/>Server-side processing, rules, automation"]
264+ Dashboard["Frontend Dashboard<br/>User data, scores, leaderboards"]
265+
266+ UserUI --> Auth --> Store --> Functions --> Dashboard
347267```
348268
349269### AI/ML Service for Recommending Movies
350270
351- ```
352- +------------------------+
353- | User Frontend |
354- | (User Interaction, |
355- | Preferences, Ratings, |
356- | User Watchlists) |
357- +-----------+------------+
358- |
359- v
360- +----------------------------+
361- | Django Backend API |
362- | (Handles Requests, |
363- | User Data Processing, |
364- | API Layer) |
365- +-----------+----------------+
366- |
367- v
368- +----------------------------+
369- | Data Pipeline |
370- | (Extracts User Data, |
371- | Prepares Feature Set) |
372- +-----------+----------------+
373- |
374- v
375- +----------------------------+
376- | AI/ML Model Processing |
377- | (Collaborative Filtering, |
378- | Content-Based Filtering, |
379- | Hybrid Approach) |
380- +-----------+----------------+
381- |
382- v
383- +----------------------------+
384- | Recommendation Engine |
385- | (Generates Personalized |
386- | Movie Suggestions) |
387- +-----------+----------------+
388- |
389- v
390- +----------------------------+
391- | Response to Django API |
392- | (Returns Recommended |
393- | Movies for User) |
394- +-----------+----------------+
395- |
396- v
397- +----------------------------+
398- | Frontend UI Displays |
399- | (Recommended Movies, |
400- | Personalized Experience) |
401- +----------------------------+
271+ ``` mermaid
272+ flowchart TD
273+ UserFront["User Frontend<br/>Interactions, prefs, ratings, watchlists"]
274+ DjangoAPI["Django Backend API<br/>Request handling & user data processing"]
275+ Pipeline["Data Pipeline<br/>Extract user data, build features"]
276+ Model["AI/ML Processing<br/>Collaborative + Content-based + Hybrid"]
277+ Engine["Recommendation Engine<br/>Personalized movie suggestions"]
278+ Response["Response to API<br/>Recommended movies"]
279+ UI["Frontend UI<br/>Displays personalized recs"]
280+
281+ UserFront --> DjangoAPI --> Pipeline --> Model --> Engine --> Response --> UI
402282```
403283
404284## Getting Started
0 commit comments