π§ This project is built only for learning purposes where I implemented multiple functionalities to explore frontend development concepts.
A full-featured Blog Web Application built with modern web technologies. This project demonstrates user-based content management, authentication with role-based access, and secure API handling using tokens. The application allows users to create, manage, and interact with blogs in a personalized and secure environment.
- Login / Register / Forgot Password
- JWT-based Token Authentication
- Role-based Access Control (Admin/User)
- Protected Routes β Accessible only after login
- Token refresh & auto logout on expiry
- Profile Page β View and update user information
- Conditional UI based on role (Admin/Regular User)
- Blog List Page β All blogs listed for authenticated users
- Add Blog β Only logged-in users can create blogs
- Delete Blog β Users can delete only their own blogs
- Edit Blog β Edit your own blog posts
- View Blog Details β Read full content in a dedicated page
- Dynamic Routing based on blog IDs
- Comment on Blogs β Authenticated users can comment
- User-Specific Comments β Shows who commented
- Comment Moderation (Future scope)
- Pagination for blog lists (for better performance)
- Infinite Scrolling (optional toggle with pagination)
- Multiple View Modes: Switch between Card View and Table/List View
- Responsive UI β Mobile-friendly layout
- Loading Skeletons while fetching blogs
- Error & Success Toasts
- Form Validations using libraries or custom logic
- User Feedback on all actions (e.g., blog posted, deleted, etc.)
Frontend: React, Tailwind CSS, DaisyUI, Framer Motion, Redux, Axios / Unirest, Font Awesome Icons
Backend: Node.js, JWT, Prisma
Database: MongoDB
- π‘οΈ Admin Panel for managing all blogs and users
- π Blog Search & Filters
- π Public Blog View (for unauthenticated users)
- π·οΈ Tags / Categories for blogs
- β€οΈ Like / Bookmark functionality
- π Analytics Dashboard
Thank you for checking out my project and its structure. I hope it helps you understand how to implement full-stack features in a real-world style application.