- Light and Dark theme (can be added new themes easily)
- Responsive Components
- User Authentication using express sessions
- Direct upload of images to S3 from client
- Profile update page to change user image and other related fields
- Allows to create new blogs using a reach text-editor(Quill) with image drag-drop and copy paste feature
- NodeJS - JavaScript runtime built on Chrome's V8 JavaScript engine.
- MongoDB - The application data platform: NoSQL Database
- React- for front-end
- Express - Fast, unopinionated, minimalist web framework for Node.js
- MUI-5 - Provides a robust, customizable, and accessible library of foundational and advanced components, enabling you to build your own design system and develop React applications faster.
- Swagger - Simplify API development for users, teams, and enterprises with the Swagger open source and professional toolset. Find out how Swagger can help you design and document your APIs at scale.
- AWS-S3 - Object storage built to retrieve any amount of data from anywhere
- Quill -A powerful rich text editor
- aws-sdk - To store images to S3
- axios - Promise based HTTP client for the browser and node.js
- react-avatar-edit - Load, crop and preview avatar with ReactJS component
- html-react-parser - Parse the blogs html content
- Heroku - Build data-driven apps with fully managed data services.
https://ok-blogger.herokuapp.com/
https://ok-blogger.herokuapp.com/doc/
- Clone the repository
$ git clone -b development https://github.com/Rajpra786/Blog-App.git
- Install the dependencies and start the development server
cd Blog-App
npm i
npm start
- Install dependencies of client and start client
cd client
npm i
npm start
Check Swagger documentation for API endpoints
- Get public profile
- Login, logout and Signup
- Update user profile
- Create new blog
- Get blog by id
- Get blogs based on filters
- Update blog
- Add comment
- Get comments using blog id
- Update comment
- Get a S3 temporary link to upload image directly
- Home page with responsive elements
- Display a single blog with an id
- Get all blogs
- Get all the blogs of specific category
- Create blog
- Update a blog
- Profile public view
- Update profile
- Update and crop profile photo
- Login, Sign Up, logout
- Dark and light theme
- Add comment-box for any blog(only when user wants to see the comments)
- Edit comment
- Add more themes
- Add docker file
- Add Google Login
MIT
Lets Rock!