Skip to content

🌊 A full-stack underwater-themed blog CMS with a modern Next.js frontend, Node.js backend, JWT auth, blog drafts, profile management, and animations using Three.js.

License

Notifications You must be signed in to change notification settings

SrabanMondal/BlogWave-CMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌊 BlogWave CMS

BlogWave CMS is a full-stack underwater-themed blog content management system. It features a visually immersive frontend with oceanic animations, a robust backend with JWT authentication, and complete blog management functionality.

🧰 Tech Stack

  • Frontend: Next.js 13+ (App Router) + TypeScript + Tailwind CSS
  • Backend: Node.js + Express + MongoDB + JWT Auth
  • Animations & 3D: Three.js, particles, wave effects
  • DevOps: Docker + Docker Compose

✨ Key Features

Frontend

  • User authentication: Register, Login, OTP verification, Password reset
  • Blog creation, editing, draft saving, and deletion
  • Search blogs by name or tags
  • Save/Unsave and Like/Unlike blogs
  • User profile management with customizable details
  • Immersive oceanic animations:
    • Submarine, fish, bubble animations
    • Wave separators and particle effects

Backend

  • RESTful APIs for users and blogs
  • JWT-based authentication with protected routes
  • Email sending middleware for OTP/password recovery
  • Centralized error handling and API response utilities

Docker Support

  • docker-compose.yaml to run both frontend and backend seamlessly
  • Easy local setup with one command

πŸš€ Installation

Prerequisites

  • Node.js (v18+ recommended)
  • MongoDB instance or Atlas cluster
  • Docker & Docker Compose (if using containerized setup)

Local Setup (Without Docker)

  1. Clone the repo
git clone https://github.com/ashankgupta/blogwave-cms.git
cd BlogWave-CMS
  1. Backend
cd backend
npm install
# Create .env with MongoDB URI and JWT secret
node server.js
  1. Frontend
cd ../frontend
npm install
npm run dev
  1. Open http://localhost:3000 in your browser

Docker Setup

docker-compose up --build

πŸ“‚ Folder Structure

blogwave-cms/
β”œβ”€β”€ backend/    # Node.js API, controllers, models, routes
β”œβ”€β”€ frontend/   # Next.js frontend with animations
β”œβ”€β”€ docker-compose.yaml

🀝 Contributing

  1. Fork the repo

  2. Create a branch (git checkout -b feature/your-feature)

  3. Commit your changes (git commit -m "Add feature")

  4. Push to the branch (git push origin feature/your-feature)

  5. Open a Pull Request

πŸ“„ License

This project is licensed under GNU License.

About

🌊 A full-stack underwater-themed blog CMS with a modern Next.js frontend, Node.js backend, JWT auth, blog drafts, profile management, and animations using Three.js.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •