Question:Assignment #1: Data model [10%]This assignment relates to the following Course Learning Requirements: CLR 1: Identify, explain, and use various technologies used in the Enterprise environment.CLR 3: Implement Web Server integration with enterprise applications.CLR 5: Utilize as well as defend against common security vulnerabilities found in enterprise applications and the multi-server networked environment.CLR 6: Implement and Integrate various Java based technologies used in the enterprise environment.. Objective of this Assignment: Check your ability to effectively execute the planning of enterprise applications by defining a schema of a data model in terms of MVC and to choose a communication model. Pre-Assignment Instructions:To prepare you for this assignment, read the modules 3, 4 and 5 content and follow the embedded learning activities.You require a drawing software that allows you to draw diagrams and charts.The following tool is a suggestion:Standalone app of https://app.diagrams.net/ which can be downloaded here https://github.com/jgraph/drawio-desktop/releases/tag/v13.6.2You are welcome to use any other such as Microsoft Visio (Windows only), pen and paper (literally).You also must have the following database installed on your computer.For simplicity:I used MySQL v.8+ (https://dev.mysql.com/downloads/), and provided you an example of the data model in module 5.You may use any database you wish, moreover if you decide to switch your solution to NoSQL it would be considered as a bonus - NOTE: it should be correct and workable, otherwise no bonuses will be added).Assignment description: In this assignment you will start by developing a backend for a Twitter-like application. The functionality of the application should have the following:At least 2 rolesProducer; andSubscriberThe Producers role is the same as the Subscriber, but has some extra capabilities:The producer can produce messages, which the Subscribers getUser may have both roles at the same time;Users having the Subscriber role, which means they can subscribe to as many Producers as they want to;All messages stored in the database, can be easily searched based on the following criteria:User (Producer) ID - means who wrote it;Message content Assignment Tasks: What you should Acquiring MVN design pattern, you need to build a data model for the application described in the Assignment Description section together with API ContractsAs a result, you should have the following:ERD diagram (if you use RDBMS) as a picture of JPEG/PNG format;Script to create the data model in the DB (SQL for RDBMS, CQL for Cassandra, etc.), which should be runnable, and creates an expected data structure;Script to populate the database with few records (2-3 users, 5-7 messages);A minimum of the following queries:Get list of users;Get list of content producers;Get list of content subscribers (full);Get list of content subscribers, subscribed on specific producer;Get all messages;Get all messages created by specific producer;Get all messages for given subscriber (it may include messages from multiple producers).Assignment Submission You need to submit an archive with name pattern {Course #}_{Section #}_{Last name}_{First name}.zip containing the following:ERD diagram (if you use RDBMS) as a picture of JPEG/PNG format;Script to create the data model in the DB (SQL for RDBMS, CQL for Cassandra, etc.);Script to populate the database with few records (2-3 users, 5-7 messages);List of queries in regular text file;Screenshots demonstrating the result of each query execution.
Question
Question:Assignment #1: Data model [10%]This assignment relates to the following Course Learning Requirements: CLR 1: Identify, explain, and use various technologies used in the Enterprise environment.CLR 3: Implement Web Server integration with enterprise applications.CLR 5: Utilize as well as defend against common security vulnerabilities found in enterprise applications and the multi-server networked environment.CLR 6: Implement and Integrate various Java based technologies used in the enterprise environment.. Objective of this Assignment: Check your ability to effectively execute the planning of enterprise applications by defining a schema of a data model in terms of MVC and to choose a communication model. Pre-Assignment Instructions:To prepare you for this assignment, read the modules 3, 4 and 5 content and follow the embedded learning activities.You require a drawing software that allows you to draw diagrams and charts.The following tool is a suggestion:Standalone app of https://app.diagrams.net/ which can be downloaded here https://github.com/jgraph/drawio-desktop/releases/tag/v13.6.2You are welcome to use any other such as Microsoft Visio (Windows only), pen and paper (literally).You also must have the following database installed on your computer.For simplicity:I used MySQL v.8+ (https://dev.mysql.com/downloads/), and provided you an example of the data model in module 5.You may use any database you wish, moreover if you decide to switch your solution to NoSQL it would be considered as a bonus - NOTE: it should be correct and workable, otherwise no bonuses will be added).Assignment description: In this assignment you will start by developing a backend for a Twitter-like application. The functionality of the application should have the following:At least 2 rolesProducer; andSubscriberThe Producers role is the same as the Subscriber, but has some extra capabilities:The producer can produce messages, which the Subscribers getUser may have both roles at the same time;Users having the Subscriber role, which means they can subscribe to as many Producers as they want to;All messages stored in the database, can be easily searched based on the following criteria:User (Producer) ID - means who wrote it;Message content Assignment Tasks: What you should Acquiring MVN design pattern, you need to build a data model for the application described in the Assignment Description section together with API ContractsAs a result, you should have the following:ERD diagram (if you use RDBMS) as a picture of JPEG/PNG format;Script to create the data model in the DB (SQL for RDBMS, CQL for Cassandra, etc.), which should be runnable, and creates an expected data structure;Script to populate the database with few records (2-3 users, 5-7 messages);A minimum of the following queries:Get list of users;Get list of content producers;Get list of content subscribers (full);Get list of content subscribers, subscribed on specific producer;Get all messages;Get all messages created by specific producer;Get all messages for given subscriber (it may include messages from multiple producers).Assignment Submission You need to submit an archive with name pattern {Course #}{Section #}{Last name}_{First name}.zip containing the following:ERD diagram (if you use RDBMS) as a picture of JPEG/PNG format;Script to create the data model in the DB (SQL for RDBMS, CQL for Cassandra, etc.);Script to populate the database with few records (2-3 users, 5-7 messages);List of queries in regular text file;Screenshots demonstrating the result of each query execution.
Solution
This assignment requires you to design a data model for a Twitter-like application using the Model-View-Controller (MVC) design pattern and to create an API contract. Here's a step-by-step guide on how to approach this:
-
Design the Data Model: Start by identifying the entities in your application. From the assignment description, it seems like you have at least three entities: User, Role, and Message. Draw an Entity-Relationship Diagram (ERD) to represent these entities and their relationships. You can use a tool like diagrams.net to create this diagram.
-
Create the Database Schema: Based on your ERD, write a script to create the database schema. This script should define tables for each of your entities and specify the relationships between them. If you're using a relational database like MySQL, this script will be written in SQL.
-
Populate the Database: Write a script to populate your database with some initial data. This script should insert 2-3 users and 5-7 messages into your database.
-
Write Queries: Write SQL queries to retrieve data from your database. You need to write queries to get a list of users, content producers, content subscribers, messages, messages created by a specific producer, and messages for a given subscriber.
-
Design the API Contract: An API contract defines the endpoints your API will have, the HTTP methods each endpoint will respond to, the data each endpoint will accept and return, and any error messages it might return. For this assignment, you'll need to define endpoints for creating users and messages, subscribing to producers, and retrieving users and messages.
-
Test Your Queries: Run your queries against your database and take screenshots of the results. These screenshots will serve as proof that your queries work as expected.
Once you've completed these steps, compile your ERD, scripts, list of queries, and screenshots into a zip file and submit it for the assignment. Remember to name the zip file according to the pattern provided in the assignment instructions.
Similar Questions
cAN YOU GIVE EXAMPLEOF HOW THE ASSIGNMENT SHOULD LOOK LIKE
I want you to answer the question not explain how to approach the assignment.
An assignment problem is a special form of transportation problem where all supply and demand values equal 1.
The objective of an assignment problem is to assign______________a.Number of resources to an equal number of activitiesb.Number of activities to an equal number of resourcesc.Both the aboved.None of the above
Question40Max. score: 4.00In C, you are working with assignment operators.You are given two variables a and b. If you are required to perform various operations using these assignment operators, then which of the following statements about these operations are correct:a + = b can also be written as a + 1 = ba - = b can also be written as a = a - ba * = b can also be written as a *1 = ba / = b can also be written as a = a / b
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.