Readable is a content and comment web app. Users will be able to post content to predefined categories, comment on their posts and other users' posts, and vote on posts and comments. Users will also be able to edit and delete posts and comments.
Readable has two parts:
- In the parent folder (this folder), type:
yarn install
. You can also typenpm install
yarn start
or npm equivalent.
- Install and start the API server
cd api-server
npm install
node server
Information about the API server and how to use it can be found in its README file.
- Uses redux-promise-middleware and redux-thunk
- Uses redux-form for field validation
- Uses presentational components where possible
- Uses Bulma for CSS with a mobile responsive design
- I initally used redux-promise and then moved over to redux-promise-middleware for the majority of API calls.
- Redux thunk is also used, but typically only for EDIT and DELETE where there is a clear cut need to handle
- multiple dipatches.
- For everything else, redux-promise-middleware does help reduce boilerplate code
- Component lifecycle methods beyond componentDidMount :)
- Redux Form Validators for additional validation checks
- Redux Logger
- NavLink highlighting for category
- Deploy this app to ZEIT, Screenshots
- Tidy up mobile UX and move some buttons over to a mobile menu.
- Explore use of _PENDING middleware actions in conjunction with Bulma to have a loading animation on button submit
- Try out an alternate version of this app with Redux-Saga
- Advanced React and Redux by Steven Grider - very useful material and insights and I can't recommend his video tutorials enough
- FullStack React Book
- Redux 4 Ways - Really useful blog post