Submitted by: Nicholas Matias
Deployed Application (optional): Kudos Board Deployed Site
- Home Page
- Displays header, banner, search, board grid, and footer.
- Displays preview of all boards on initial page load.
- Boards previews should show an image/gif and board title.
- Users can click on a category (recent, celebration, thank you, inspiration) to filter the boards.
- Recent displays most recently created boards.
- Other categories display boards of that type.
- Users can search for a board by name.
- Users can click on a board to navigate to a new page containing that board.
- Users can create a new board.
- Boards should have a title, category, and author (optional).
- User can delete boards.
- Board Page
- Displays a list of all cards for a board.
- Each card features a text message.
- Each card features a gif found using the GIPHY API.
- Users can optionally sign the card as the author.
- Cards can be upvoted.
- Cards can be deleted.
- User Accounts
- Users should be able to log in with a username and password.
- Users should be able to sign up for a new account.
- Boards and cards should be associated with a user.
- Anonymous cards or cards by guest users should still be allowed.
- Add a new filter option on the home page to display only the current user's boards.
- Allow boards to be deleted only if they are owned by the user.
- Deployment
- Website is deployed via Render.
- Comments
- Users should be able to comment on cards.
- Did the topics discussed in your labs prepare you to complete the assignment? Be specific, which features in your weekly assignment did you feel unprepared to complete?
Lab 3 was helpful when I went through it. It was directly related to what we were doing. It helped me understand how to set up the database and connect it to the frontend. That said, while lab 3 did cover this to an extent, connecting the frontend was still a little hard. Through reading documentation, things became clearer though. In addition to this, understanding how to write the put, patch, get, and delete api calls was hard at first. Lastly, I felt completely unprepared to deploy the website through render. Deploying an application that is purely frontend is simple but doing it with the database in mind is something else entirely. I didn't know how to add in the backend so that the website would work through render.
- If you had more time, what would you have done differently? Would you have added additional features? Changed the way your project responded to a particular event, etc.
Given more time, I would finish setting it up on render, add comments for cards, and add user authentication. There are some small things I would like to add/ change: gif search input tag resets to "" on submit, naming conventions, and ensuring that the footer is always at the bottom of the screen. When I say naming conventions I am referring to the component names. I think that if I had thought ahead more, I could have given the react components more relevant and clear names.
- Reflect on your project demo, what went well? Were there things that maybe didn't go as planned? Did you notice something that your peer did that you would like to try next time?
I didn't do a demo this week as I went last week. I did appreciate that a couple people had theirs deployed through render which is something I didn't have time to accomplish.
I used the 'react-router-dom' library to set up the routes for the boards. Through using this, I was able to efficiently set up a separate page for each board.
This week, I did pretty well on my own in terms of trouble shooting. That said, Sammy was able to direct me to the right websites so that I could read the right documentation. Throughout the week, I became accustomed to reading through the documentation to solve my problem.