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
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).
3 freelancere byder i gennemsnit ₹2333 timen for dette job
I have good experience in Database Management and have worked on projects from end to end. I have 11 years of experience in Data Engineering and will be able to do the task with ease. Thank you.