React.js and DynamoDB

Job ID: 32902064

Budget: $10 – $30 USD

Note: before placing your bid, acknowledge you have read this or your bid will be deleted.

Create a serverless app that stores, updates and displays news items.
A news item is just a small bit of text to show alerts, updates, etc. The text that can include hyperlinks, a version (1, 2, 3, etc), expiration date and attachments. Each news item belongs to a channel, or category. Channels can be called updates, alerts, weather, etc. This is a way to categorize them. When displayed they, will be grouped by channel and only show if they are not expired.

A channel needs to be created first. When a news item is entered, the user supplies the following: a version (numbers like 1, 2, 3), title, body, channel (from a drop down of existing channels), attachments but they are optional and expiration date. Needs to support multiple attachments and being able to delete them. Validation needs to happen when attempting to submit. If it passes, the news item gets stored. We need to store the date and time it was entered. Ideally I want attachments stored in a different table but whatever is best practice for DynamoDB.

Here are the functions it needs:

- Get channels (all of them)
- Get channel details (of just 1)
- Add/update/delete channels but not if a news item belongs to it. if a news item still belongs to a channel, it cannot be deleted until the news item changes to a different channel.

- Get news items (all of them)
- Get news item details (of just 1)
- Add/update/delete news item. Attachments can be added or deleted.

The main page needs to show all channels and the news items underneath each of them. There is no drill down as it will show the news item(s) in its entirety. If there are none, it will display "no news items to display". There needs to be a way to add, edit and delete all items. This can be a single page app but it needs to be clean and easy to use. Otherwise make it numerous pages. It needs to use DynamoDB in AWS and React.js. All methods/functions must have inline comments to document what is being done. If there are API's needed, an explanation on how to set it up is required and then I will create it in AWS.