nodejs-starter-kit
nodejs-starter-kit copied to clipboard
Create a new Blog Module
- [ ] Clap Feature
- [ ] Share
- [ ] Comment
- [ ] More from this User
- [ ] Content (More to think about this!)
The schema for this user can be
title
, cover image
and content
.
For the content, we can use medium draft Link. Not tested yet, but I'll start working on it and check if it is feasible.
The first five can be added one by one after the last one is done.
@beingtmk sounds cool?
https://github.com/brijeshb42/medium-draft https://draftjs.org/
User Schema names from here: https://schema.org/Blog,
But anyways let's start with frontend, and backend we will figure out later.
https://starterkit-bishal.herokuapp.com/blog/new
This is the form for the new component. After clicking submit, a new component opens up below which shows the output.
https://starterkit-bishal.herokuapp.com/blog/
And this is the output of the blog in a different page.
@thebishaldeb,
- -[ ] Comments should be created as a new Module
- -[ ] BlogListView (only published blogs shown here) & BlogDetailView should be created
- -[ ] Filters
- -[ ] Blogs should have the functionality to add a list of tags
- -[ ] Sharing Options should be available, also created as a new module
- -[ ] There should also be a category model Ex. (Science, Coding, etc.) and CRUD for the same. Model: Name, Description, Image
- -[ ] Blog should have a status variable that can be disabled, draft, published, etc.
- -[ ] A signed-in user can only post a Blog, and also the author should be stored. in the blog model
- -[ ] MyBlogs - Where one change status of blog, delete, share etc.
- -[ ] BookMark fuctionality for Blogs, & list of bookmarked blogs
@thebishaldeb, Create these modules, and import components from these modules into blog.
- [ ] 1. share - everything related to sharing
- [ ] 2. tag - all form and other components related to tags
- [ ] 3. comment - components related to comments
These should be the urls
- [x] /blog/list - list of all the blogs and filters (blogging homepage)
- [x] /blog/new - new blog form, only show when logged in
- [x] /blog/bookmarks - list of bookmarked blogs
- [x] /blog/my-blogs - list of my blogs
- [x] /blog/id - blog detail page for blog with id
- [x] /blog/username - all the blogs for particular username
@thebishaldeb, Create a blog card component with reusability in mind so that you don't have card components with overlapping code parts,
You can break the components into the smallest parts and then reused them everywhere.
also better to also create containers for each smaller component like bookmark, like etc. so that later on it will be easy to connect them to the backend
@thebishaldeb, Mention your blog demo link here
https://starterkit-bishal.herokuapp.com/blog/my-blogs - My Blogs
https://starterkit-bishal.herokuapp.com/blog/list - List of Blogs
https://starterkit-bishal.herokuapp.com/blog/bookmarks - Bookmarks
https://starterkit-bishal.herokuapp.com/blog/:id - Blog Detail
https://starterkit-bishal.herokuapp.com/blog/new - Blog Form
https://starterkit-bishal.herokuapp.com/blog/@:username - Blog User
Created the comments module. We need to do the nesting part. Sharing module can be done according to the backend.
I've created a RenderTagField for form in the look module
@thebishaldeb, put all the navbar links in a dropdown called Blog
@thebishaldeb, put all the navbar links in a dropdown called Blog
Done!
- [ ] @thebishaldeb, -series, add image, add video, refinements.