Assignment_4
Submission:
Submit your assignment as a SINGLE ZIP file online by the due date. Your submitted ZIP file must have the name: Assignment_4_Your_LastName.zip
Deliverables:
Your ZIP file for the assignment submission must include the following:
-
Your refined UML design class diagram considering the requirements listed below.
-
The UML Activity Diagrams to subscribe and unsubscribe for any topic to be notified of new postings.
-
Utilize the Observer design pattern in your refined design class diagram to subscribe and unsubscribe for any topic to be notified of new postings.
-
All source code that you installed, compiled and built on your personal computer.
-
Panopto video recording of a live run of your code on your personal development computer.
Requirements Specification:
Consider the provided Blogging Platform - Requirements Specification and reuse/modify the software artifacts that you have completed for the blogging platform using UML and React/Material UI in the prior assignments, implement the following requirements using React/Material UI:
-
Providetheuserwiththefeaturetosubscribeandunsubscribeforanytopic to be notified of new postings.
-
Provide the user with the feature to generate a reply to any post on any topic using OpenAI Chat Completion End Point. The user must be provided with Switches toggle the state of a single setting on or off for OpenAI generated reply.
-
ImplementtherequirementtostorethepostsofanytopicinElasticSearch as a document datastore backend.
-
Provide the user with the feature to search posts on any topic using ElasticSearch as a document datastore backend.
-
Provide the user with the feature to ask the OpenAI-assisted Agent to recommend activities based on current weather conditions, real-time events/search (current sports events), and location of the user.
-
▪ Weather. Resources/APIs to get current/forecast of Weather Conditions:
▪ https://open-meteo.com/
▪ https://openweathermap.org/api
▪ https://weather-gov.github.io/api/general-faqs -
▪ Location. Resources/APIs to get current User Location:
-
▪ https://ipapi.co/json/
-
▪ https://developer.mozilla.org/en- US/docs/Web/API/Geolocation_API/Using_the_Geolocation_ API
-
-
▪ Internet Search. Resources/APIs to perform real-time internet search: ▪ https://serpapi.com/dashboard
-
▪ OpenAI. Resources/APIs for OpenAI:
-
▪ https://platform.openai.com/docs/api-
reference/chat/create
-
▪ https://cookbook.openai.com/examples/how_to_build_an_a
gent_with_the_node_sdk
-
-