Skip to content

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.

License

Notifications You must be signed in to change notification settings

MoinMN/blogotypo

Repository files navigation

πŸš€ 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! ⭐

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published