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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages