Skip to content

notramm/indilogs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📝 IndiLogs — A Full Stack Blog Platform

React Node.js MongoDB Vite

A clean, full-stack blogging platform where users can write, publish, and explore posts across multiple categories.


✨ Features

  • 🔐 Auth — Register, login, logout with JWT
  • ✍️ Rich Text Editor — Write posts using Quill editor
  • 🖼️ Image Uploads — Thumbnails and avatars via Cloudinary
  • 📂 Categories — Filter posts by Agriculture, Business, Art, and more
  • 👤 User Profiles — Update name, email, password and avatar
  • 📋 Dashboard — Manage your own posts (view, edit, delete)
  • 🌐 Authors Page — Browse all registered authors

🛠 Tech Stack

Layer Tech
Frontend React 18, Vite, React Router v7
Styling Plain CSS with CSS variables
Editor react-quill-new
Backend Node.js, Express
Database MongoDB with Mongoose
Auth JWT + bcryptjs
Storage Cloudinary

🚀 Getting Started

1. Clone the repo

git clone https://github.com/notramm/indilogs.git
cd indilogs

2. Setup Backend

cd server
npm install

Create server/.env:

MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
PORT=5000
CLIENT_URL=http://localhost:5173
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
npm run dev

3. Setup Frontend

cd client
npm install

Create client/.env:

VITE_BASE_URL=http://localhost:5000/api
npm run dev

App runs at http://localhost:5173


📁 Project Structure

indilogs/
├── client/               # React + Vite frontend
│   ├── src/
│   │   ├── components/   # Header, Footer, PostItem, etc.
│   │   ├── pages/        # Home, Login, Register, Dashboard, etc.
│   │   ├── context/      # UserContext
│   │   └── constants/    # Quill config, categories
│   └── vite.config.js
│
└── server/               # Express backend
    ├── controllers/      # userControllers, postControllers
    ├── middleware/        # auth, error handling
    ├── models/           # User, Post, HttpError
    ├── routes/           # userRoutes, postRoutes
    ├── config/           # Cloudinary setup
    └── index.js

🌐 Deployment

Both frontend and backend are deployed on Vercel.

  • Frontend uses vercel.json with Vite rewrites for SPA routing
  • Backend uses @vercel/node to serve Express as a serverless function
  • Images are stored on Cloudinary (no local filesystem dependency)

👨‍💻 Author

Ram Muduli@notramm

About

IndiLogs — A Full Stack Blog Platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors