Giter VIP home page Giter VIP logo

vue-nest-monorepo-template's Introduction

vue-nest-monorepo-template

目录

介绍

最简单的开箱即用的nodejs前后端开发模板/脚手架,可快速开发应用,对前端同学友好。

v3-admin-vite:https://github.com/un-pany/v3-admin-vite

后端:nest restful api 提供了完整的单体应用请求-响应链路,包括日志记录、身份验证、RBAC 控制、API 限流、请求数据序列化和响应数据序列化。

前端:通过pnpm workspace与后端nest应用实现了方法及类型共享,可快速切换各种应用

项目旨在为有兴趣转向后端或全栈开发的前端同学提供参考和使用。

内置基于 v3-admin-vite的前端模板,开箱即用。使用admin模板切换dev-amin分支。

特点

  • 提供docker-compose及dockerfile便捷的本地调式及部署
  • 基于 RBAC 的权限管理系统,提供细粒度的 API 访问控制,防止越权访问。
  • 采用 Monorepo + TypeScript 架构,前端和后端可共享类型定义和方法。shared 包会同时打包为 CommonJS 和 ESM 格式,方便前后端调用。
  • 使用 Prisma 快速构建数据库模型,并解决了 Prisma 无法使用 @Comment 描述字段入库的问题。
  • 提供 Swagger UI 文档,方便 API 调试和文档管理。

技术栈

层级 技术
前端 Vue 3 + Vite
后端 NestJS
数据库和 ORM Prisma + MySQL + Redis
数据验证 Class Validator
身份验证和授权 JWT + Casl
数据加密 Argon2

已实现模块

模块 进度
注册登录 100%
菜单管理 100%
角色管理 100%
权限管理 100%
日志模块 100%
字典管理 0%

快速安装

1、克隆项目到本地

git clone  https://gitee.com/quct/vue-nest-monorepo.git

2、全局安装pnpm

npm install -g pnpm

3、下载docker desktop或者下载mysql、redis到本地

(此处强烈建议安装docker desktop,配合项目中的docker-compose一键运行mysql、redis)

docker 安装使用可参考:https://docker.easydoc.net/

docker desktop安装:https://www.docker.com/products/docker-desktop/

4、安装docker desktop后进入back-end目录使用命令启动docker

(如果直接使用本地的mysql、redis,请参考back-end目录下的.env文件及config目录下的文件配置数据库)

cd ./packages/back-end

docker-compose up -d

此命令会根据back-end目录下的docker-compose.yml文件下载启动mysql、redis

5、下载依赖

pnpm install

后续如果想下载全局依赖可执行

 pnpm install xxx -w

如果想给某个包单独安装,比如给back-end安装可使用

pnpm --filter ./packages/back-end i xxxx

6、初始化数据库环境,进入back-end目录执行

    npm run db:init

7、启动项目,在根目录执行命令可启动前后端项目

pnpm run start:all

如果想单独启动后端项目,执行

pnpm --filter ./packages/back-end run start:dev

单独启动前端项目

pnpm --filter ./packages/front-end run dev

后端运行后 访问http://localhost:3018/swagger 即可查看接口文档
访问http://localhost:3018/api/v1/ 即可使用接口服务
前端访问http://localhost:5173/ alt text alt text

待办事项

[] 提供字典模块

[√] 提供缓存模块

[ ] 提供admin前端集成

vue-nest-monorepo-template's People

Contributors

quct avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.