Stage 1 – User Registration and Login
The user creates an account and logs into the streaming media application.
The user enters their credentials, and Keycloak authenticates the user before allowing access to the application.
The proposed system is a serverless streaming media analytics platform that collects and processes user activity events in real time. Activities such as video search, play, pause, watch duration, skip, and content selection are captured and processed to understand user engagement and content popularity.
To develop a serverless data streaming pipeline that processes real-time user activity data from a Streaming Media Application for analytics and reporting.
The user creates an account and logs into the streaming media application.
The user enters their credentials, and Keycloak authenticates the user before allowing access to the application.
The user browses available movies, shows, or other streaming content.
The application retrieves content information from PostgreSQL. Frequently accessed content information can be temporarily stored in Redis for faster access.
The user searches for a particular movie, show, or video.
The application processes the search request and retrieves matching content information for the user.
The user selects and starts watching a video.
The application records information such as the selected content, user, and playback activity.
The user interacts with the video while watching.
Activities such as pause, resume, seek, skip, change quality, and stop are generated during playback.
The user either continues watching the content or stops playback.
The application records the viewing activity and watch duration for the session.
Stores raw user activity data and processed datasets generated by the streaming analytics pipeline.
Receives and streams user activity events generated by the streaming media application.
Handles event-based triggers required for processing and downstream application activities.
Performs lightweight validation, transformation, and processing of incoming user activity events.
Coordinates multi-stage processing when sequential processing is required.
Provides user authentication and access control.
Handles and routes application API requests.
Stores user, content, viewing-session, and application information.
Stores frequently accessed content and temporary session information for faster access.
Collects user activity events generated by the application and forwards them to the streaming pipeline.
Collects metrics related to application activity and pipeline processing.
Displays user activity and pipeline performance metrics through dashboards.
Creates and manages the required Cloud infrastructure using configuration code.
The proposed solution uses a serverless data streaming architecture to process user activity from a Streaming Media Application in real time. User activities such as searching, playing, pausing, skipping, and completing videos generate events. Fluent Bit collects these events and sends them to Cloud Kinesis Data Streams. Cloud Lambda validates and transforms the events, while Cloud S3 stores raw and processed data. The processed information is analyzed to identify viewer engagement, watch duration, and content popularity. Prometheus and Grafana provide monitoring of the application and streaming pipeline.