BlogBytes is a full-stack blogging platform designed for modern writers and readers. It allows users to create, read, update, and delete blog posts with a seamless UI and secure backend. The platform supports user authentication, rich text editing, categories, and more.
- User Authentication – Secure login/signup with JWT
- Create & Edit Posts – Rich text editor for writing beautiful articles
- Category & Tag Support – Organize posts by topic
- Comments System – Engage with readers
- Responsive Design – Mobile-first, clean UI
Frontend
- React + Vite
- Tailwind CSS / SCSS
- Axios
Backend
- Node.js + Express
- MongoDB + Mongoose
- JWT Authentication
- Cloudinary (for image uploads)
BlogBytes/
│
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ └── lib/
│ └── vite.config.js
│
├── backend/
│ ├── controllers/
│ ├── prisma/
│ ├── routes/
│ ├── middleware/
│ └── index.js
│
└── README.md
- Node.js and npm installed
- MongoDB running locally or cloud URI
- Prisma
-
Clone the repo
git clone https://github.com/Talish1234/BlogBytes.git cd BlogBytes
-
Install frontend & backend dependencies
cd frontend && npm install cd ../backend && npm install
-
Add environment variables
Create a
.env
file in/backend
with:BASE_URL= frontend_base_url DATABASE_URL=mongodb+srv://<USERNAME>:<PASSWORD>@cluster.mongodb.net/BlogBytes SECRET=yourJWTSecret
Image Upload Configuration (Cloudinary)
This project uses Cloudinary for handling image uploads in the following pages:
frontend/pages/CreatePost.jsx
frontend/pages/Register.jsx
frontend/pages/Profile.jsx
To enable image uploads, configure your Cloudinary credentials in these files.
How to Set It Up
Replace the placeholders with your actual Cloudinary values:
cloud_name: {/* Your Cloudinary cloud name */}, uploadPreset: {/* Your upload preset */}
You can find these in your Cloudinary Dashboard: Settings → Upload → Upload Presets
-
Run the development servers
- Backend:
npm run dev
(in/backend
) - Frontend:
npm run dev
(in/frontend
)
- Backend:
- Bookmark & like functionality
- Newsletter subscription
- Markdown support
- WYSIWYG editor
- Draft autosaving
- Analytics for authors
Pull requests are welcome! For major changes, please open an issue first to discuss what you’d like to change.