# π Node Blog
<div align="center">
π¨ A simple, fast, and easy-to-use blog platform π
β οΈ *Work in progress β Not production ready yet* π§
https://github.com/bs32g1038/node-blog/workflows/Node%20Blog%20CI/badge.svg
https://github.com/bs32g1038/node-blog/workflows/Release%20Docker%20CI/badge.svg
https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg
https://img.shields.io/lgtm/alerts/g/bs32g1038/node-blog.svg?logo=lgtm&logoWidth=18](https://lgtm.com/projects/g/bs32g1038/node-blog/alerts/)
https://img.shields.io/lgtm/grade/javascript/g/bs32g1038/node-blog.svg?logo=lgtm&logoWidth=18](https://lgtm.com/projects/g/bs32g1038/node-blog/context:javascript)
https://codecov.io/gh/bs32g1038/node-blog/branch/master/graph/badge.svg](https://codecov.io/gh/bs32g1038/node-blog)
https://img.shields.io/github/license/bs32g1038/node-blog.svg
</div>
https://github.com/bs32g1038/node-blog/blob/master/docs/images/home.png?raw=true
**π Preview:** https://www.lizc.net
---
## β¨ Features
- πβ **Themes**: Light & Dark mode
- π **REST API** built with Node.js + Express
- π **Database**: MongoDB + Mongoose
- π¨ **Build system**: Webpack
- π **Tech stack**: React, Ant Design, Express, Typescript, ...
- π² **Next.js** for server-side rendering
- π² **Responsive layout** for mobile
- βοΈ **Clean workflow** and maintainable architecture
- β¦ and more
---
## π Project Structure
ROOT β ββ server # Blog backend (Node.js + MongoDB) β ββ client ββ web # Frontend UI ββ admin # Admin UI β ββ docker-compose.yml # Docker Compose configuration
---
## β
Todo List
- [x] Article tags
- [x] In-browser article writing
- [x] Comments
- [x] Search functionality
- [x] Mobile web support
- [x] Light & Dark themes
- [x] Other improvements ...
---
## π Development Setup
### 1. Clone repository
```bash
git clone https://github.com/bs32g1038/node-blog.git
cd node-blog
npm installnpm run init:dev:datanpm run devnpm run buildThe project includes everything needed for deployment: client UI, Dockerfile and docker-compose.yml.
- Pull the project to your server
- Install
dockeranddocker-compose - Build containers:
docker-compose build
- Start services:
docker-compose up -d
- Install dependencies:
npm install
- Start in production mode:
npm run start:prod
- Ensure MongoDB is installed and running.
- OS: Linux, macOS, or Windows
- Node.js: v14.x or newer (LTS recommended)
- Database: MongoDB v5.x or newer
| Edge | Firefox | Chrome | Safari | Opera |
|---|---|---|---|---|
| last 2 versions | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
If you find this project helpful, please consider giving it a β on GitHub.
Your support means a lot!
MIT License.
---