- Client side route that displays projects that are stored in the database
- Each project should conditionally render a name, description, thumbnail, website, date complete and a tag. Many of the fields are optional, only show properties that aren't null.
- Include a link to GitHub that opens in a new window
- Add your name at the top of the page
- Use Sagas for API requests to your server
- Client side route that displays a form allowing you to add a new project to your portfolio
- Include a drop down menu with a list of tags
- Send data to the server and notify the user of success or failure
- List projects by name and allow the user to delete them
- Include a button that navigates to the project page
- Commit your code frequently! You should have at 15+ commits on a project of this size. Use branches to help break down your features.
- Comment your code.
- Update this README to include a description of the project in your own words.
- Use the GitHub API to get user information to display at the top of the page
- Improve styling on the page using Material UI
- Include a form on the admin page for adding new tags
- Implement additional features of the GitHub API
Final Grading Ruberic:
|SELECT of project has a JOIN to tags||no|
|Initial Display shows all projects||no|
|Project has name & conditionally shows all other properties||no|
|Project image displays image as one of the properties||no|
|Admin form adds a new project||no|
|POST of project allows for optional fields||no|
|Admin form lists all projects with option to delete||no|
|Delete removes project from database||no|
|Sagas used for calls to server||no|
Notes on items above.
|More than 15 git commits||no|
|Commits are descriptive of the changes made or feature added||no|
|Readme file updated||no|
|Appropriate amount of code comments||no|
|Code is consistently formatted||no|
|Good use of React Components||no|
|Good use of Redux (where appropriate)||na/yes/no|