This is for maintaining communication for da-pengiuns disucssion thread project.
These are notes to be maintained PER date that you meet. What you did and what the next steps are.
In Class 03-17-2022: Discuss choices for discussion thread project for the check- in 1.
These are dedicated status check-ins as this is a multi-week project.
Visual Changes
- Add post more visible
- Padding
- Visuals-- make everything pretty
- Seed Propic?
- Edit/delete/reply
- Call BE to get comments
Backend Changes
- Delete post-main-- content unavliable/replys stay
- Delete reply== gone from the post-main
- Update schema
- Update demo
- Local Storage-- demo
- post-main-- UUID
- comments-- UUID
- Get all comments
Schema: See DBDiagram ER diagram for relational database schema
Reply Workflow:
Comment Workflow:
The above diagrams have also been added to the 11ty docs, which can be viewed under the Notes post.
-
Documentation of each end point https://da-penguins.stoplight.io/studio/threaded-discussion?source=b5xrzjkw&symbol=%252Fp%252Freference%252Fapi.yaml%252Fpaths%252F%7E1get-comment%252Fget
-
Added backend logic for 4 CRUD related operations for each comment
- Create
/submit-comment
- Read
/get-comment
- Update
/edit-comment
- Delete
/delete-comment
- Create
-
Added Additional 'Like Comment' backend API logic
/like-comment
-
Created
/auth
API for future implementation of JWT authentication on each API endpoint
- 11ty documentation of team updates: https://da-penguins.github.io/threaded-discussion-docs/posts/notes/
- Significant updates to user interface
- Implemented user authentication and session validation via
/auth
endpoint - Tie user credential checks into other API endpoints
- API Documentation is complete and available here
- User flows have been updated, with User Authentication being the only flow that has not been documented
- What's done:
- Backend:
- Database is fully set up and persists data
- CRUD functionality and all API endpoints setup
- Support for multiple threads and pervasive data storage
- Comments have been set up to return chronologically based on most recent
- Frontend:
- Sign-in page with what's your name input
- General design for comment structure and threaded-discussion tag have been created
- Buttons that facilitate API calls for CRUD functionality on comment data
- API/Documentation:
- OpenAPI documentation has been published
- Workflow diagrams for all API endpoints
- 11ty Documentation site is up to date
- Backend:
- What's left:
- Backend:
- Error handling with JWT generation and user authentication
- Cleaning API returns for easier translation to frontend
- Verifying that domain validation is completely functional
- Frontend:
- Visually present all comments on page
- Create visual representation for replies
- Finish main comment structure (working through implementation of icons and content display)
- Verify that UUID management is working properly
- API/Documentation:
- Keep 11ty documenation up to date
- Update Auth endpoint workflow based on backend's final decisions with JWT Auth
- Backend:
- Questions:
- Having trouble conceptualizing management of different threads on frontend (not visually but in the code), any advice/recommendation is welcome!
- Async calls to API end up showing empty comments that just have a "promise" object to start. Other than going synchronous, is there any way to stop the comment HTML from generating until the comment data is fetched? (e.g. a timeout or something similar?)