Skip to content

huzaifaghazali/huzaifa-blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 

Repository files navigation

Huzaifa's Blog

Huzaifa's Blog is a full-stack blogging platform where users can read, comment on, and manage blog posts. The platform supports two types of users: admin and regular users. Regular users can manage their accounts and comments, while admin users have additional permissions to manage users, comments, and posts. The application also supports Google authentication for user login.

Table of Contents

Features

  • User Authentication
    • Google OAuth for secure login
    • Account management for regular users
  • Blog Management
    • CRUD operations for posts (admin)
    • CRUD operations for comments
  • User Roles
    • Admin: Manage users, posts, and comments
    • Regular User: Manage own account and comments
  • Modern UI/UX
    • Responsive design using TailwindCSS
    • Rich text editor for blog posts

Pictures

hblog1

hblog1a

hblog2

hblog3

hblog4

hblog5

hblog6

hblog7

hblog8

hblog9

hblog10

hblog11

hblog12

hblog13

Tech Stack

Frontend

  • React - Library for building user interfaces
  • Redux Toolkit - State management
  • React Router - Navigation
  • Firebase - Authentication
  • TailwindCSS - Styling
  • Vite - Development environment

Backend

  • Node.js - JavaScript runtime
  • Express - Web framework for Node.js
  • MongoDB - NoSQL database
  • Mongoose - MongoDB ORM
  • JSON Web Token (JWT) - Authentication
  • Bcrypt.js - Password hashing
  • Dotenv - Environment variable management

Installation

  1. Clone the repository:

    git clone https://github.com/huzaifaghazali/huzaifa-blog.git
    cd huzaifa-blog
  2. Install dependencies:

    • For the frontend:

      cd client
      npm install
    • For the backend:

      cd sever
      npm install

Usage

  1. Setup environment variables for client and server

    Create a .env file in the root of the client and server directory and add the following variables separately:

       #  For frontend
    VITE_FIREBASE_API_KEY
    VITE_FIREBASE_APP_ID
       #  For Backend
    MONGO_URL
    JWT_SECRET
  2. Run the development server:

    • Start the backend:

      cd sever
      npm run dev
    • Start the frontend:

      cd client
      npm run dev
  3. Open your browser and navigate to:

    http://localhost:5173

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages