Enterprise Application Programming
Budget: ₹1,000 – ₹3,000 INR
Description:
A backend for a Twitter-like application.
The functionality of the application should have the following:
1. At least 2 roles :Producer and Subscriber
2. The Producers role is the same as the Subscriber, but has some extra capabilities: The producer can produce messages, which the Subscribers get
3. User may have both roles at the same time;
4. Users having the Subscriber role, which means they can subscribe to as many Producers as they want to;
5. All messages stored in the database, can be easily searched based on the following criteria:
- User (Producer) ID – means who wrote it;
- Message content
Tasks:
1. Acquiring design patterns, build a data model for the application described in the above Description section together with API Contracts
2. The following are required:
• 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:
i. Get list of users;
ii. Get list of content producers;
iii. Get list of content subscribers (full);
iv. Get list of content subscribers, subscribed on specific producer;
v. Get all messages;
vi. Get all messages created by specific producer;
vii. Get all messages for given subscriber (it may include messages from multiple producers).
A backend for a Twitter-like application.
The functionality of the application should have the following:
1. At least 2 roles :Producer and Subscriber
2. The Producers role is the same as the Subscriber, but has some extra capabilities: The producer can produce messages, which the Subscribers get
3. User may have both roles at the same time;
4. Users having the Subscriber role, which means they can subscribe to as many Producers as they want to;
5. All messages stored in the database, can be easily searched based on the following criteria:
- User (Producer) ID – means who wrote it;
- Message content
Tasks:
1. Acquiring design patterns, build a data model for the application described in the above Description section together with API Contracts
2. The following are required:
• 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:
i. Get list of users;
ii. Get list of content producers;
iii. Get list of content subscribers (full);
iv. Get list of content subscribers, subscribed on specific producer;
v. Get all messages;
vi. Get all messages created by specific producer;
vii. Get all messages for given subscriber (it may include messages from multiple producers).
Related categories:
Database Administration
Database Programming
Enterprise Architecture
Database Design
Data Modeling