Watch 1 Star 1 Fork 0

唐金健 / nest-todoTypeScript

Join us
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
待办事项应用的后端部分,使用 Nest.js 6 开发。演示地址:http://todo.dloa.xyz:5000 spread retract

Clone or download
Loading...
README.md

NestTodo

待办事项 RESTful APIs ,技术上使用 Nest.jsJWTMongoDBMongoose ,功能上实现注册、登录、待办事项增删改查。

前端部分在 angular-todo 里。

目录说明

  • /src/common 公用的模块
  • /src/feature 业务模块

使用说明

# 打开项目目录
cd nest-todo

# 安装依赖。如果是在 Linux 下开发,请使用 sudo npm i,因为 bcrypt 的安装需要权限,所以需要使用 sudo
$ npm i

# 创建 todo-mongo
# 如果不会 docker ,可以按照自己的方法,自行创建数据库
$ docker run --name todo-mongo -d -p 27017:27017 mongo:4.2.1

# 我启动 Webpack 热更新
$ webpack:hmr

# 再启动这个,然后就可以啦
$ start:hmr

RESTful APIs

/auth

获取 Token

GET /auth/token
account: <用户>
password: <密码>
200 OK

{
	"token": "<token>"
}

/users

创建一个用户

POST /users
Content-Type: application/json

{
    "account": "<账号>",
    "password": "<密码>"
}
200 OK

{
    "token": "<token>"
}

/todos

创建一个待办事项

POST /todos
Content-Type: application/json
Authorization: Bearer <token>

{
	"todo": "<待办事项内容>"
}
200 OK

{
    "_id": "<待办事项的_id>"
}

删除一个待办事项

DELETE /todos/:_id
Authorization: Bearer <token>
204 No Content

改变一个待办事项

PATCH /todos/:_id
Content-Type: application/json
Authorization: Bearer <token>

{
    "complete"?: <true | false>,
    "todo"?: "<待办事项内容>"
}
204 No Content

查询一些待办事项

GET /todos
Authorization: Bearer <token>
200 OK

[
    { _id: "<待办事项_id>", "complete": <true | false>, "todo": "<待办事项内容>" },
    { _id: "<待办事项_id>", "complete": <true | false>, "todo": "<待办事项内容>" },
    ...
]

Docker 部署

# 克隆代码
git clone https://github.com/TangJinJian/nest-todo.git

# 打开目录
cd nest-todo

# 安装依赖,请在 Linux 环境下编译安装,因为 Docker Node.js 容器是 Linux 环境
# Node.js 容器目标平台是 Linux ,所以 bcrypt 编译的目标平台,也必须是 Linux
# bcrypt 的安装,需要权限,所以需要使用 sudo
sudo npm i

# 编译生产环境代码
npm run prestart:prod

# 编译镜像
docker build --rm -f "Dockerfile" -t tangjinjian/nest-todo:1.0.3 .

# 运行服务
# 你必须先修改 
docker-compose up -d

Comments ( 0 )

Sign in for post a comment

TypeScript
1
https://gitee.com/TangJinJian/nest-todo.git
git@gitee.com:TangJinJian/nest-todo.git
TangJinJian
nest-todo
nest-todo
master

Help Search