A full-stack blogging application built with the MERN stack.
Client — React 18, TypeScript, Vite, Tailwind CSS, Shadcn UI, React Query, Wouter, Framer Motion
Server — Node.js, Express, MongoDB (Mongoose), TypeScript, Passport.js
Shared — Zod, TypeScript
- Node.js v18+
- MongoDB (local or Atlas)
# Install all dependencies
npm install
# Create a .env file in the root directory
MONGO_URI=your_mongodb_connection_string
PORT=3001
NODE_ENV=development
# Run both client and server
npm run dev- Client →
http://localhost:5173 - Server →
http://localhost:3001
| Command | Description |
|---|---|
npm run dev |
Run client and server concurrently |
npm run dev:client |
Run client only |
npm run dev:server |
Run server only |
npm run build |
Build both for production |
npm run build:client |
Build client only |
npm run build:server |
Build server only |
npm start |
Start the production server |
MERNStackBlogger/
├── client/ # React frontend
├── server/ # Express backend
│ ├── routes/
│ ├── models/
│ └── middleware/
└── shared/ # Shared types and schemas
MIT