Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ NexaBlog: AI-Powered Hands-Free Admin Dashboard & Social Platform

NexaBlog is a high-performance, full-stack blogging ecosystem that combines Artificial Intelligence, a modern Admin Dashboard, Real-Time Communication, and Eye-Tracking Accessibility.

Built using the MERN Stack, it delivers a powerful platform for:

  • AI-assisted content creation
  • Voice-based blog generation
  • Hands-free reading using gaze tracking
  • Real-time social interaction

πŸ›  Tech Stack

🎨 Frontend

  • React.js (Vite) β€” Fast and modular UI development
  • Tailwind CSS (Admin Dashboard UI) β€” Clean, responsive, professional layout
  • WebGazer.js β€” Eye-tracking and gaze prediction
  • Socket.io Client β€” Real-time communication
  • Axios β€” API handling and AI integration

βš™οΈ Backend

  • Node.js & Express.js β€” Scalable backend architecture
  • Google Gemini 1.5 API β€” AI-powered content generation & voice processing
  • MongoDB & Mongoose β€” NoSQL database & schema modeling
  • Socket.io β€” Real-time messaging & live user tracking
  • JWT (JSON Web Tokens) β€” Secure authentication system
  • Multer β€” Image upload handling

✨ Key Features

πŸ‘οΈ Eye-Tracking & Hands-Free Reading (New πŸš€)

  • Hands-Free Navigation: Read blogs without using mouse or keyboard
  • Gaze-Based Highlighting: Detects which paragraph you're reading
  • Smart Auto-Scroll: Looking at the bottom triggers smooth scrolling
  • Accessibility Focused: Enhances usability for modern and inclusive UX

πŸ“Š Admin Dashboard

  • Modern sidebar-based navigation
  • Responsive layout with analytics-style UI
  • Context-aware components

πŸŽ™οΈ Voice-to-Blog (Bangla β†’ English)

  • Convert Bangla speech into structured English blog posts
  • AI-enhanced expansion for professional-quality content

πŸ€– AI Blog Generator

  • Generate full blog descriptions from a simple title
  • Powered by Gemini 1.5 Flash

✍️ AI Co-Writing Assistant

  • Smart Refinement: Expand, shorten, or convert tone to professional
  • Draft Enhancement: Improves grammar, clarity, and structure
  • Contextual Writing: AI interacts with existing content for relevant suggestions

🏷️ SEO Auto-Tag Generator

  • Keyword Extraction: Generates SEO-friendly tags from title/content
  • Automated Storage: Tags stored as searchable arrays in MongoDB
  • SEO Optimization: Improves discoverability of blog posts

πŸ’¬ Real-Time Messaging

  • One-to-one private chat
  • Live message updates via Socket.io
  • Persistent chat history (MongoDB)

🟒 Live User Status

  • Track online users in real time
  • Dynamic "Active Users" system

πŸ” Authentication System

  • Secure signup/login
  • JWT-based route protection
  • Password hashing

πŸ“ Blogging Engine

  • Create, edit, and share posts
  • Image upload support via Multer

πŸ“‚ Project Structure

.
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ models/          # User, Blog, Message schemas
β”‚   β”œβ”€β”€ routes/          # API routes (Auth, Blogs, AI, Voice)
β”‚   β”œβ”€β”€ public/uploads/  # Uploaded images
β”‚   └── server.js        # Main server & Socket.io logic
β”‚
└── frontend/
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ components/  # AdminLayout, Chat, VoiceInput
    β”‚   β”œβ”€β”€ App.tsx      # Routing & Auth state
    β”‚   └── Blogs.tsx    # Dashboard & Feed UI

πŸš€ Getting Started

1️⃣ Clone Repository

git clone https://github.com/ashrafuzzaman1973/blog-app-fullstack-react-express.git

2️⃣ Install Dependencies

# Backend
cd backend
npm install

# Frontend
cd ../frontend
npm install

3️⃣ Environment Setup

Create a .env file in the backend folder:

PORT=8000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_super_secret_key
GEMINI_API_KEY=your_google_ai_studio_key

4️⃣ Run the Project

▢️ Start Backend

cd backend
node server.js

▢️ Start Frontend

cd frontend
npm run dev

πŸ“‘ API Endpoints

πŸ” Authentication

Method Endpoint Description
POST /api/auth/signup Register new user
POST /api/auth/login Login & get token

πŸ“ Blogs

Method Endpoint Description
GET /api/blogs Fetch all blogs
POST /api/blogs Create blog (Auth required)
POST /api/blogs/:id/comment Add comment (Real-time update)

πŸ€– AI Services

Method Endpoint Description
POST /api/ai/generate_full_post Title β†’ Full blog content
POST /api/ai/voice_to_blog Bangla voice β†’ English blog
POST /api/ai/refine_content Improve, expand, shorten, or change tone
POST /api/ai/generate_tags Generate SEO tags from content

🧠 AI Capabilities

  • Text-to-Text Generation β†’ Input: Blog title β†’ Output: Full professional article

  • Speech-to-Text + AI Expansion β†’ Input: Bangla speech β†’ Output: English blog with enhanced structure


🀝 Contributing

  1. Fork the repository

  2. Create a feature branch

    git checkout -b feature/your-feature-name
  3. Commit your changes

    git commit -m "Add new feature"
  4. Push to GitHub

    git push origin feature/your-feature-name
  5. Open a Pull Request


πŸ‘¨β€πŸ’» Author

Ashrafuzzaman Ashraf


About

An AI-powered, real-time social blogging platform built with the MERN stack. Features Google Gemini API for instant content generation and Socket.io for live private messaging.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages