fantasticit / Wipi
Licence: apache-2.0
A blog system written by next.js, nest.js and MySQL.
Stars: ✭ 251
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
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
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
Wipi
简介
本项目使用 next.js
、nest.js
和 MySQL
从 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;
}
}
资料
- next.js 源码:https://github.com/vercel/next.js
- next.js 文档:https://nextjs.org/
- nest.js 源码:https://github.com/nestjs/nest
- nest.js 文档:https://nestjs.com/
遇到问题,善用搜索引擎。
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].