Welcome to the Web Blog - NoSQL Project! This is a modern full-stack blog platform that combines the best web technologies to deliver real-time interactivity, seamless content management, and responsive design. Built with Next.js, Express.js, MongoDB, and Socket.io, this project showcases the power of modern JavaScript/TypeScript development.
- Next.js 14 - React framework with server-side rendering (SSR) and static generation
- TypeScript - Ensuring type safety and better development experience
- Tailwind CSS - Utility-first styling for fast and scalable UI
- React-Quill - Rich text editor for blog posts
- Framer Motion - Adding smooth animations and interactivity
- Socket.io Client - Enabling real-time communication
- JWT - Secure user authentication
- Express.js - Lightweight and efficient Node.js framework
- MongoDB - A NoSQL database for scalable content storage
- Mongoose - Simplifying MongoDB data modeling
- Socket.io - Real-time bidirectional communication
- JWT - Secure authentication & authorization
- Multer - Handling file uploads efficiently
- β User Authentication - Secure login and registration system
- β Blog Post Management - CRUD operations for blog posts
- β Real-time Comments - Engage with live discussions
- β Categories & Tags - Organize posts for better discoverability
- β Favorites & Likes - Allow users to save and appreciate posts
- β Rich Text Editing - Format posts using a powerful editor
- β Responsive Design - Fully mobile-friendly UI
- β File Uploads - Add images for blog posts and profiles
Ensure you have the following installed:
- Node.js (v18 or higher)
- MongoDB (local or cloud instance)
1οΈβ£ Clone the repository
git clone <repository-url>2οΈβ£ Backend Setup
cd backend
npm installCreate a .env file in the backend directory with:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret3οΈβ£ Frontend Setup
cd frontend
npm install1οΈβ£ Start the Backend
cd backend
npm start2οΈβ£ Start the Frontend
cd frontend
npm run dev3οΈβ£ Access the Application
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
π¦ Web Blog
β£ π frontend # Next.js Application
β β£ π components # Reusable UI components
β β£ π pages # Page-based routing
β β£ π styles # Tailwind & global styles
β β π package.json # Frontend dependencies
β£ π backend # Express.js API
β β£ π models # Mongoose schemas
β β£ π routes # API endpoints
β β£ π controllers # Business logic
β β π package.json # Backend dependencies
β π README.md # Project documentation
π‘ Want to improve this project? Follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request π
This project is licensed under the ISC License. Feel free to use and improve it! π‘