Quillier
🌐

Quillier

Tags
Blogs
React
Redux
JavaScript
MongoDB
NodeJs
ExpressJs
Blogging-Website
Published
September 17, 2024

🌐 Quillier - A Modern Blogging Platform

🌐 Visit the website at: https://quillier.vercel.app
notion image
notion image
notion image
notion image
notion image

πŸš€ Project Overview

Quillier is a modern full-stack blogging platform built with the MERN stack. I created this blog application during my early days of learning web development. It was a project that helped me explore and understand some essential concepts of building full-stack web applications.

✨ Key Features

  • πŸ” User Authentication:
    • Secure Google Sign-In integration using Firebase
    • Role-based access control
  • πŸ“ Rich Text Editing:
    • Interactive content creation with Quill editor
    • Intuitive and user-friendly writing experience
  • πŸ’¬ Interactive Comments:
    • Real-time commenting system
    • Engage and interact with blog posts
    • Nested comment threads
  • 🎨 Dynamic Theming:
    • Light and dark mode switching
    • Personalized user interface
  • πŸ‘‘ Role Management:
    • Admin privileges for comprehensive content management
    • Granular access controls
  • πŸ“± Responsive Design:
    • Mobile-first approach
    • Tailwind CSS for adaptive layouts

πŸ–ΌοΈ Application Preview

πŸ› οΈ Tech Stack

Frontend

  • Framework: React 18 with Vite
  • State Management: Redux Toolkit
  • Styling: Tailwind CSS
  • Authentication: Firebase
  • Rich Text Editor: Quill

Backend

  • Runtime: Node.js
  • Framework: Express
  • Database: MongoDB with Mongoose
  • Authentication: JWT
  • Password Security: Bcrypt

πŸš€ Local Setup

Prerequisites

  • Node.js (18.x)
  • npm or yarn
  • MongoDB instance

Installation Steps

  1. Clone the Repository
    1. git clone <https://github.com/HarshDodiya1/Quillier.git> cd Quillier
  1. Install Dependencies
    1. # Install client dependencies cd client npm install # Install server dependencies cd ../server npm install
  1. Configure Environment Variables
    1. Client (.env)
      VITE_API_BASE_DEV=YOUR_SERVER_URL VITE_FIREBASE_API_KEY=YOUR_FIREBASE_APIKEY
      Server (.env)
      REACT_APP_API_URL_DEV=YOUR_FRONTEND_URL PORT=3000 MONGO_URL=YOUR_MONGODB_CONNECTION_STRING JWT_SECRET=YOUR_JWT_SECRET_KEY
  1. Run Development Servers
    1. # Start client cd client npm run dev # Start server (in another terminal) cd server npm run start

🌟 Project Journey

This blog application was more than just a coding projectβ€”it was a learning journey. As a budding web developer, I embraced challenges and transformed them into opportunities:
  • Learning Authentication: Implementing Firebase Google Sign-In
  • Interactive Editing: Mastering the Quill editor for rich text experiences
  • Design Flexibility: Creating dynamic theme switching
  • Security First: Developing role-based access controls
  • User Experience: Building an intuitive admin dashboard

🀝 Contributing

Contributions are welcome!
  1. Fork the repository
  1. Create your feature branch (git checkout -b feature/AmazingFeature)
  1. Commit your changes (git commit -m 'Add some AmazingFeature')
  1. Push to the branch (git push origin feature/AmazingFeature)
  1. Open a Pull Request
For major changes, please open an issue first to discuss proposed modifications.

πŸ“œ License

Distributed under the MIT License. See LICENSE for more information.

πŸ“ž Contact