https://github.com/moinmn/blogotypo
Blogotypo is a feature-rich, secure, and user-friendly blogging platform built with Next.js. It allows users to create, publish, and manage blogs, with advanced features like search, filtering, sharing, and verified user authentication.
https://github.com/moinmn/blogotypo
bcrypt blogging bootstrap5 chartjs farmer-motion jodit-react mern-stack mongodb-atlas next-auth nextjs nodemailer react-skeleton tailwindcss
Last synced: 2 months ago
JSON representation
Blogotypo is a feature-rich, secure, and user-friendly blogging platform built with Next.js. It allows users to create, publish, and manage blogs, with advanced features like search, filtering, sharing, and verified user authentication.
- Host: GitHub
- URL: https://github.com/moinmn/blogotypo
- Owner: MoinMN
- License: other
- Created: 2025-02-08T14:44:17.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-02-28T05:36:57.000Z (3 months ago)
- Last Synced: 2025-04-05T08:42:42.811Z (2 months ago)
- Topics: bcrypt, blogging, bootstrap5, chartjs, farmer-motion, jodit-react, mern-stack, mongodb-atlas, next-auth, nextjs, nodemailer, react-skeleton, tailwindcss
- Language: JavaScript
- Homepage: https://blogotypo.moinnaik.bio
- Size: 26.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🚀 Blogotypo - A Modern Next.js Blogging Platform
## 🌍 Live Demo
🔗 **[Visit Blogotypo](https://blogotypo.vercel.app)** (Deployed on Vercel)
---
## 📖 About Blogotypo
**Blogotypo** is a **feature-rich, secure, and user-friendly** blogging platform built with **Next.js**. It allows users to **create, publish, and manage blogs**, with advanced features like search, filtering, sharing, and verified user authentication.
### ✅ Features:
- **Anyone can create & publish blogs**
- **NextAuth with Google & GitHub authentication**
- **Secure password encryption using bcrypt**
- **Full CRUD operations for blogs**
- **Real-time blog views tracking**
- **Blog sharing options**
- **Recommended blogs section**
- **Advanced search & filtering (Sort by, Blogs per Page, etc.)**
- **Review system with ⭐⭐⭐⭐⭐ rating**
- **Admin dashboard for managing users**
- **User account deletion request system via `/contact`**
- **Legal pages: Terms & Conditions, Privacy Policy, License**---
## 🔥 Tech Stack
| **Technology** | **Usage** |
| ------------------------------- | ---------------------------------- |
| **Next.js** | Frontend & Backend |
| **MongoDB + Mongoose** | Database for storing blogs & users |
| **NextAuth.js** | Authentication (Google & GitHub) |
| **Jodit Editor** | Rich text editor for writing blogs |
| **Cloudinary** | Upload & store images |
| **bcrypt** | Secure password hashing |
| **Nodemailer** | Email notifications |
| **Chart.js + React Chart.js 2** | Graphical blog statistics |
| **Framer Motion** | Smooth animations |
| **Bootstrap & Tailwind CSS** | Responsive UI design |
| **Vercel** | Hosting & Deployment |---
## 🚀 Installation & Setup
### **1️⃣ Clone the Repository**
```bash
git clone https://github.com/MoinMN/blogotypo.git
cd blogotypo
```### **2️⃣ Install Dependencies**
```bash
npm install
```### **3️⃣ Set Up Environment Variables**
Create a `.env` file and add the following:
```env
NEXT_PUBLIC_NEXTAUTH_URL=your-vercel-url
MONGODB_URI=your-mongodb-uri
NEXTAUTH_SECRET=your-nextauth-secret
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret
SMTP_HOST=your_smtp_host
SMTP_USER=your_smtp_email_id
SMTP_PASS=your_smtp_password
CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
```### **4️⃣ Run the Development Server**
```bash
npm run dev
```Now, open **http://localhost:3000** in your browser.
---
## 🛠 Features & Functionalities
### 📝 **Blog System**
- **Create, Read, Update, Delete (CRUD) Blogs**
- **Rich Text Editing with Jodit**
- **Blog View Count Tracking**
- **Review System with ⭐⭐⭐⭐⭐ Ratings**
- **Share Blogs on Social Media**
- **Search & Advanced Filtering**### 🔒 **User Authentication**
- **Login with Google & GitHub (NextAuth.js)**
- **Secure Password Encryption (bcrypt)**
- **Verified Users System**
- **Users Can Request Account Deletion**### 🛠 **Admin Features**
- **Manage Users (Delete & Set Verified Status)**
- **No Data Update Permissions for Admins**### 📊 **Analytics & Reporting**
- **Graphical Stats on Blog Performance (Chart.js)**
- **Sort & Filter Blogs Easily**### 📜 **Legal & Privacy Features**
- **[Terms & Conditions](https://blogotypo.vercel.app/view/docs/term-and-conditions), [Privacy Policy](https://blogotypo.vercel.app/view/docs/privacy-policy), and [License](https://blogotypo.vercel.app/view/docs/license) Pages**
- **GDPR-Compliant User Data Handling**---
## 🎨 Screenshots
| **Homepage** | **Blog Editor** | **Admin Dashboard** |
| ---------------------------------------------------- | -------------------------------------------------------- | ---------------------------------------------------------- |
|  |  |  |---
## 🚀 Deployment
Deployed on **Vercel**. To deploy your own version:
```bash
vercel deploy
```---
## 🤝 Contributing
Contributions are welcome!
1. **Fork the repository**
2. **Create a new branch** (`feature/my-feature`)
3. **Commit your changes** (`git commit -m "Added a new feature"`)
4. **Push to the branch** (`git push origin feature/my-feature`)
5. **Submit a pull request**---
## 📜 License
**Blogotypo** is licensed under its own **custom license**. See the full [LICENSE](https://blogotypo.vercel.app/view/docs/license) for details.
---
## 🛠 Need Help?
📧 **Contact:** [[email protected]](mailto:[email protected])
🌐 **Website:** [https://blogotypo.vercel.app](https://blogotypo.vercel.app)
📣 **Follow us on Socials:** [Twitter](https://x.com/MoinMN5) | [LinkedIn](https://www.linkedin.com/in/moinnaik/) | [Instagram](https://instagram.com/im_moin45)---
⭐ **Star this repo if you found it useful!** ⭐