All Projects → fantasticit → Wipi

fantasticit / Wipi

Licence: apache-2.0
A blog system written by next.js, nest.js and MySQL.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Wipi

100 Days Of Code Frontend
Curriculum for learning front-end development during #100DaysOfCode.
Stars: ✭ 2,419 (+863.75%)
Mutual labels:  nextjs, sass
Leaa
Leaa is a monorepo restful CMS / Admin built with Nest.js (@nestjsx/crud, node.js) and Ant Design.
Stars: ✭ 375 (+49.4%)
Mutual labels:  nextjs, nestjs
Nest Next
Render Module to add Nextjs support for Nestjs
Stars: ✭ 348 (+38.65%)
Mutual labels:  nextjs, nestjs
Next Boilerplate
A well-structured production ready Next.js boilerplate with Typescript, Redux, Jest, Enzyme, Express.js, Sass, Css, EnvConfig, Fetch, Reverse Proxy, Bundle Analyzer and Built-in Project CLI. https://pankod.github.io/next-boilerplate/
Stars: ✭ 936 (+272.91%)
Mutual labels:  nextjs, sass
Node Blog
🔥✨ A react blog project base on nodejs, nestjs, mongoose, typescript, react, ant-design,nextjs
Stars: ✭ 69 (-72.51%)
Mutual labels:  nextjs, nestjs
Nestpress
A production ready personal blogging system on top of NestJS and NEXT.js
Stars: ✭ 38 (-84.86%)
Mutual labels:  nextjs, nestjs
Ravepro
RavePro
Stars: ✭ 18 (-92.83%)
Mutual labels:  nextjs, nestjs
Wipi
nextjs + nestjs + TypeScript +MySQL 开发的前后端分离,服务端渲染的博客系统
Stars: ✭ 163 (-35.06%)
Mutual labels:  nextjs, nestjs
Ark
An easiest authentication system on top of NestJS, TypeORM, NEXT.js(v9.3) and Material UI(v4).
Stars: ✭ 228 (-9.16%)
Mutual labels:  nextjs, nestjs
nest-boilerplate
Nest.js boilerplate with CircleCI, Commitizen, Commitlint, Docker-Compose, ESLint, GitHub Actions, Husky, Lint-staged, OpenAPI, Prettier, PostGreSQL, Travis CI, TypeORM
Stars: ✭ 16 (-93.63%)
Mutual labels:  nestjs
dogstudio-next-starter
Opinionated Next.js starter by Dogstudio
Stars: ✭ 66 (-73.71%)
Mutual labels:  nextjs
expansion-pack
🔋 Useful stack expansion for ts-nextjs-tailwind-starter
Stars: ✭ 16 (-93.63%)
Mutual labels:  nextjs
next-use-contextual-routing
Generate contextual routing / modal routes paths for Next.js
Stars: ✭ 76 (-69.72%)
Mutual labels:  nextjs
aitemr.github.io
💼 My personal page
Stars: ✭ 12 (-95.22%)
Mutual labels:  nextjs
nest-blog
A simple blog server system build with Nest.
Stars: ✭ 22 (-91.24%)
Mutual labels:  nestjs
Mastering Nextjs
A free video course for building static and server-side rendered applications with Next.js and React.
Stars: ✭ 256 (+1.99%)
Mutual labels:  nextjs
nextjs-typescript-express-boilerplate
A next.js boilerplate app with Typescript and an Express API server
Stars: ✭ 30 (-88.05%)
Mutual labels:  nextjs
EthBuildersNYC-website
The EthBuilders Website. Part Experimentation. Part Magical Unicorn. All Fun. Learn to build a Full Stack DApp with lots of cutting edge features, together.
Stars: ✭ 18 (-92.83%)
Mutual labels:  nextjs
Tui
This is a high quanlity components library for VUE
Stars: ✭ 258 (+2.79%)
Mutual labels:  sass
Gutenberg
A meaningful web typography starter kit.
Stars: ✭ 2,765 (+1001.59%)
Mutual labels:  sass

Wipi

简介

本项目使用 next.jsnest.jsMySQL 从 0 到 1 搭建了一个完整的前后端分离项目。其中,使用 next.js 通过服务端渲染前台页面和后台管理系统,使用 nest.js 提供了 restful api 接口,使用 typeorm 操作 MySQL 数据。

链接

功能点

  • 文章创建、发布、更新,以及相应标签、分类管理
  • 文章搜索
  • 页面创建、发布、更新
  • 评论管理
  • 邮件通知
  • 系统访问统计(ip + user-agent)
  • 用户管理(管理员、访客)
  • 文件上传(上传到 阿里 OSS)
  • 动态 SEO、标题、Logo、favicon 等设置
  • 使用 vscode 的 monaco 作为文章、页面的编辑器,支持 Markdown 语法

更多功能,欢迎访问系统进行体验。

预览

  • 前台首页
  • 前台文章
  • 前台搜索
  • 前台归档
  • 后台首页
  • 后台设置
  • 后台文章管理
  • 后台编辑器
  • 后台评论管理

本地启动

  • 安装依赖

首先安装 MySQL,推荐使用 docker 进行安装。

docker run -d --restart=always --name wipi -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7

然后在 MySQL 中创建数据库。

docker container exec -it wipi  bash;
mysql -u root -p root;
CREATE DATABASE  `wipi` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • clone 本项目。
git clone --depth=1 https://github.com/fantasticit/wipi.git your-project-name

然后安装项目 node 依赖。

lerna bootstrap
  • 启动项目
lerna run dev

前台页面地址:http://localhost:3000。 后台管理地址:http://localhost:3001。 服务接口地址:http://localhost:4000

首次启动,默认创建管理员用户:admin,密码:admin(可在 server/.env 文件中进行修改)。 [PS] 如服务端配置启动失败,请先确认 MySQL 的配置是否正确,配置文件在 server/.env

项目部署

在服务器使用 pm2 进行部署即可,可以查看 deploy.sh 文件。具体内容如下:

node -v
npm -v

npm config set registry http://registry.npmjs.org

npm install pm2 -g
npm i -g @nestjs/cli
npm i -g lerna

lerna bootstrap
lerna run build
lerna run pm2

pm2 startup
pm2 save

nginx 配置

采用反向代理进行 nginx 配置,同时设置 proxy_set_header X-Real-IP $remote_addr; 以便服务端获取到真实 ip 地址

upstream wipi_client {
  server 127.0.0.1:3000;
  keepalive 64;
}

# http -> https 重定向
server {
  listen  80;
  server_name 域名;
  rewrite ^(.*)$  https://$host$1 permanent;
}

server {
  listen 443 ssl;
  server_name 域名;
  ssl_certificate      证书存放路径;
  ssl_certificate_key  证书存放路径;

  location / {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Nginx-Proxy true;
    proxy_cache_bypass $http_upgrade;
    proxy_pass http://wipi_client; #反向代理
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

资料

遇到问题,善用搜索引擎。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].