A simple blog app that lets users create blog posts with images, view them, edit them and delete them.
You can see the backend/server code here: Server/API repository
MERN Stack:
- TypeScript
- TensorFlow JS (for human identification)
- Google reCAPTCHA v2 (for detection of bots)
- Tailwind CSS (for styling)
- Axios (for data fetching)
- React-Toastify (for showing Toast notification)
- React-Router-Dom (for router functionalities)
- React-Quill (for text editor)
- Date-fns (for date formatting & manipulation)
To run BlogOn project locally, follow these steps:
- Clone the repository to your local machine:
git clone https://github.com/shm-dsgn/BlogOn.git
- Navigate to the project directory:
cd BlogOn
- Create a
.env
file in the project directory. - Create the follwing variables in the
.env
file:
REACT_APP_API_URL = https://shm-blogapp-api.onrender.com
REACT_APP_reCAPTCHA_SITE_KEY= <your Google reCAPTCHA v2 site key>
- In the project directory, you can run
npm install
to install the project dependencies.
npm install
To start the development server and view BlogOn website, run the following command:
npm start
This will launch the application on a local development server, typically at http://localhost:3000.
- Blog Posts : A user when opens the website can see all the blog posts already present on the website.
- Login/Register : A user can register with their username and password and then login to the website to create their own blog posts.
- Create Post : A user , when signed in, can create a post by clicking on the 'Create Post' button and provide a title, a summary, a cover photo and the content of the blog into a form.
- Delete Post : A user when signed in, can also delete the posts that were created by the same user.
- Edit Post : A user can edit their posts by clicking on the 'Edit' button on the post card and can edit the title, summary, cover photo and the content of the blog.
- My Profile : A user can see their profile by clicking on the 'My Profile' button and can see all the posts created by them.
- Human Identification: Every registration is now checked with TensorFlow JS models if a user is a person or not.
- Listen to Blog : Now a user can listen to the blogs.
- Detect Toxicity : Every post is now checked for toxicity(eg: insult,obscene, sexual_explicit, etc )