Skip to content

Latest commit

 

History

History
174 lines (120 loc) · 5.58 KB

README.md

File metadata and controls

174 lines (120 loc) · 5.58 KB

🚀 Blogotypo - A Modern Next.js Blogging Platform

Blogotypo

🌍 Live Demo

🔗 Visit Blogotypo (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

git clone https://github.com/MoinMN/blogotypo.git
cd blogotypo

2️⃣ Install Dependencies

npm install

3️⃣ Set Up Environment Variables

Create a .env file and add the following:

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

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


🎨 Screenshots

Homepage Blog Editor Admin Dashboard
Home Page Blog Editor Admin Dashboard

🚀 Deployment

Deployed on Vercel. To deploy your own version:

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 for details.


🛠 Need Help?

📧 Contact: crichit45@gmail.com
🌐 Website: https://blogotypo.vercel.app
📣 Follow us on Socials: Twitter | LinkedIn | Instagram


Star this repo if you found it useful!