Skip to content

ItsAzura/web_blog_nosql_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

πŸš€ Web Blog - NoSQL Project

🌟 Overview

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.

πŸ›  Tech Stack

🎨 Frontend

  • 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

πŸ—οΈ Backend

  • 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

οΏ½οΏ½ Features

  1. βœ… User Authentication - Secure login and registration system
  2. βœ… Blog Post Management - CRUD operations for blog posts
  3. βœ… Real-time Comments - Engage with live discussions
  4. βœ… Categories & Tags - Organize posts for better discoverability
  5. βœ… Favorites & Likes - Allow users to save and appreciate posts
  6. βœ… Rich Text Editing - Format posts using a powerful editor
  7. βœ… Responsive Design - Fully mobile-friendly UI
  8. βœ… File Uploads - Add images for blog posts and profiles

πŸš€ Getting Started

πŸ”§ Prerequisites

Ensure you have the following installed:

  • Node.js (v18 or higher)
  • MongoDB (local or cloud instance)

πŸ“₯ Installation

1️⃣ Clone the repository

git clone <repository-url>

2️⃣ Backend Setup

cd backend
npm install

Create a .env file in the backend directory with:

PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret

3️⃣ Frontend Setup

cd frontend
npm install

▢️ Running the Application

1️⃣ Start the Backend

cd backend
npm start

2️⃣ Start the Frontend

cd frontend
npm run dev

3️⃣ Access the Application

πŸ“‚ Project Structure

πŸ“¦ 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

🀝 Contributing

πŸ’‘ Want to improve this project? Follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request πŸš€

πŸ“œ License

This project is licensed under the ISC License. Feel free to use and improve it! πŸ’‘

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors