Watch Live https://drive.google.com/file/d/1OVxzKzSga1sOoayAjTCeaYDEVMI3Rtct/view?usp=sharing
This project is a blog post application built using React, Express, and MongoDB. The application allows users to view blog posts, edit and delete their own posts, and provides recommendations for other posts that the user might like. The application also includes a loading skeleton for improved user experience while data is being fetched.
- User authentication and authorization
- CRUD operations on blog posts
- Loading skeleton for better user experience
- Responsive design
- Real-time updates with WebSockets (planned feature)
- Frontend: React, React Router, Axios, React Toastify, Moment.js, DOMPurify
- Backend: Express, MongoDB, Mongoose
- Styling: SCSS, React Loading Skeleton
-
Clone the repository:
git clone https://github.com/shubhamc1947/OpenPen.git cd blogpost-app
-
Install dependencies for the client and server:
# For client cd OPENPEN npm install # For server cd OPENPEN/api npm install
-
Create a
.env
file in the server directory with the following environment variables:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret
-
Start the development server:
# For client cd OPENPEN npm run dev # For server cd /OPENPEN/api npm start
-
The application should now be running at
http://localhost:5173
for the client andhttp://localhost:8800
for the server.
- Navigate to
http://localhost:5173
to view the application. - Register or log in to create, edit, or delete blog posts.
- View blog posts and recommended posts based on categories.
This project is licensed under the MIT License.