- Create and setup Strapi repo to manage data.
- Pre-load sample data to render.
- Create and setup React repo to manage UI.
This will be developed on the branch '1-channel-list'.
"As a user I can see all current channels/conversations I am a port of so I can follow the conversation/info."
- Create a function that refreshes the content of the list every certain period of time or every time a new channel is added.
- the function must be exported from '.../logic/update-channel-list.js'.
- the function must be imported to the main app container.
- Create a component that renders all existing channels.
- create the component 'ChannelList.jsx'.
- list should be a 'ul' element.
- every channel should be a 'li' element.
- there is a CSS file for this component called 'ChannelList.css'.
This will be developed on the branch '2-add-channel'.
"As a user I can create new channels/conversations so I can address different topics with different people."
- Create api call to create new channel object.
- some checkboxes for this task
- Create an 'Add channel' button.
- there is a button to create a new channel at the end of the channel's list.
- User can give the new channel a name
- on click, user can type the name of the new channel and confirm it.
This will be developed on the branch '3-messages'.
"As a user I can see the author of each message so I can follow the conversation and the info provided by each participant."
- Each message is preceded by the username of its author.
- the username of the author of each message is displayed on top of it in a different font style
This will be developed on the branch '4-message-time'.
"As a user I can see the author of each message so I can follow the conversation and the info provided by each participant."
- Each message has date information
- the time each message was created at is displayed on top of each message
- it uses a different font-style than the message and the username of the author
This will be developed on the branch '5-send-messages'.
"As a user I can send messages to interact with other users."
- Each message is stored as data
- there is an api call that created a message object in the data base
- There is a text box and a button to send messages
- create a text box to input the body of the message
- create a 'Send' button
- Send message on click
- 'Send' button sends message on click which updates the UI
This will be developed on the branch '6-user-name'.
"As a user I can set my own username so others can identify me and I can identify others throughout the conversation."
- User creates their username on load
- after loading the page's content there is pop-up asking to create the user's name
- Each user is stored in the data base
- there is an api call that creates a user object