Skip to content

Repository files navigation

Codebit8 — Blog Platform

Live Demo   React 18 Firebase 10 Vite 5 Tailwind CSS

Built by Shaikh224  •  codebit8.netlify.app

Screenshot 2026-06-16 222016 Screenshot 2026-06-16 222058

A modern, full-featured blog platform built with React 18 and Firebase. Features a rich text editor with syntax highlighting, smooth animations, image lazy-loading, and SEO-friendly metadata — all served through a Vite-powered build pipeline.


🔗 Live Site

👉 Visit codebit8.netlify.app

Your source for coding tips, technology news, and AI tutorials.


✨ Features

  • Rich Text Editor — React Quill with full formatting support and Monaco Editor for embedded code blocks
  • Firebase Backend — Firestore for posts/data, Firebase Auth for user management, Firebase Storage for media
  • Animated UI — Page transitions and micro-interactions powered by Framer Motion
  • SEO Ready — Per-page <title> and <meta> tags managed with React Helmet
  • Performance Optimised — Lazy image loading via react-lazy-load-image-component, terser minification, and an image compression plugin at build time
  • Accessible Navigation — Headless UI components with full keyboard support
  • Carousel / Sliders — React Slick for featured post showcases
  • Sanitised Outputsanitize-html prevents XSS in rendered post content

🛠 Tech Stack

Layer Technology
Framework React 18 + Vite 5
Styling Tailwind CSS 3 + PostCSS
Backend / Auth Firebase 10 (Firestore, Auth, Storage)
Rich Text React Quill 2
Code Editor Monaco Editor
Animation Framer Motion 11
Routing React Router DOM 6
SEO React Helmet
Icons Heroicons 2
UI Primitives Headless UI 2
Linting ESLint 8

🚀 Getting Started

Prerequisites

  • Node.js 18+
  • A Firebase project with Firestore, Authentication, and Storage enabled

1. Clone the repository

git clone https://github.com/Shaikh224/Codebit8-Blog-Website.git
cd Codebit8-Blog-Website

2. Install dependencies

npm install

3. Configure environment variables

Copy the example file and fill in your Firebase credentials:

cp .env.example .env

Open .env and replace the placeholder values:

VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id

Where to find these: Firebase Console → Project Settings → Your apps → SDK setup & configuration

4. Start the development server

npm run dev

The app will be available at http://localhost:5173.


📜 Available Scripts

Command Description
npm run dev Start local dev server with HMR
npm run build Production build (minified + image-optimised)
npm run preview Preview the production build locally
npm run lint Run ESLint across all JS/JSX files

📁 Project Structure

Codebit8-Blog-Website/
├── public/              # Static assets
├── src/
│   ├── components/      # Reusable UI components
│   ├── pages/           # Route-level page components
│   ├── firebase/        # Firebase config & helpers
│   ├── hooks/           # Custom React hooks
│   └── main.jsx         # App entry point
├── .env.example         # Environment variable template
├── index.html           # Vite HTML entry
├── tailwind.config.js   # Tailwind configuration
├── vite.config.js       # Vite configuration
└── package.json

☁️ Deployment

Vercel (recommended)

npm i -g vercel
vercel

Set your Firebase environment variables in Vercel → Project → Settings → Environment Variables.

Firebase Hosting

npm run build
firebase deploy --only hosting

Netlify

Currently deployed at codebit8.netlify.app — drag-and-drop the dist/ folder after running npm run build, or connect your GitHub repo for automatic deploys.


🔥 Firebase Setup Checklist

  • Create a Firebase project at console.firebase.google.com
  • Enable Email/Password authentication (Authentication → Sign-in method)
  • Create a Firestore database (start in test mode, then harden rules)
  • Enable Firebase Storage for media uploads
  • Copy SDK config into .env

🤝 Contributing

  1. Fork the repo
  2. Create a feature branch: git checkout -b feat/your-feature
  3. Commit your changes: git commit -m "feat: add your feature"
  4. Push and open a Pull Request

📄 License

This project is open source. Feel free to use, modify, and build on it.


About

A fast, modern blog platform built with React 18, Vite, and Firebase, featuring a rich WYSIWYG editor, animated UI, lazy-loaded images, and SEO support.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages