使用 Nestjs + uni-app 搭建自己的壁纸小程序(一):项目介绍

781 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

该篇文章包括:需求分析技术选型项目搭建版本控制等内容

前言

最近在小程序当中搜索寻找为自己手机寻找壁纸的时候,突然想着自己也实现一个壁纸小程序岂不是更好,接着就有了现在这个文章所写的项目

需求分析

通过上面的描述我们可以知道,我们的需求是实现一个自己的壁纸小程序,就目前为止,我能够想到的功能如下,如果有同学能够有想到更多的功能,欢迎评论留言:

  • 用户的登录注册:使用微信小程序一键登录
  • 壁纸推荐:考虑随机或者在后台人工推荐,为啥不上 AI 是因为作者的能力不够
  • 壁纸分类:分类管理各种壁纸
  • 壁纸标签:给壁纸打上各种各样的标签,方便用户搜索
  • 壁纸搜索:提供搜索功能供用户搜索壁纸,同时提供标签热度排行
  • 壁纸下载:供用户下载壁纸,记录用户下载过的壁纸
  • 用户上传壁纸:用户可以自己上传自己喜欢的壁纸,需要管理员人工进行审核
  • 管理员功能:暂时没有考虑制作后台,所以在小程序端可以先提供一个供管理员身份的用户使用的功能,如:审核、下架、数据统计等等功能

Tips:本作者纯技术出身,写出来的小程序虽然没有设计,但是并不妨碍在本项目当中学到非常多的东西

技术选型

就目前我想到的能够有一下几点,本人的技术栈比较广,同时最近也有在学习 nestjs ,刚好能够做个项目来练练手,小程序这里我们就使用 uniapp,下面列举一些具体的项目选型:

  • 小程序:uni-app + Vue3 + TypeScript + UnoCSS
  • 后端服务:Nestjs + TypeScript + Prisma
  • 数据库:MySQL + Redis
  • 版本控制:git + github

可能在开发过程当中还会用到其他第三方的 UI 框架,以及一些爬虫相关的技术,等到用到的时候再进行补充,小程序这边我直接使用自己以前搭建好的一个模版,地址:github.com/DimplesY/un… ,有想要了解项目具体的搭建过程的可以看这篇文章:使用 unipp + vue3 + ts + unocss 搭建一个简单的脚手架

项目搭建

源码仓库准备

首先我们打开 Github 新建两个仓库,一个用来管理小程序项目的源码(bizhi-mp),一个用来管理 NestJS 项目的源码 (bizhi-backend)

项目构建

服务端

首先,我们先在自己的电脑上全局安装一下 NestJS 为我们准备的 cli 工具

$ npm i -g @nestjs/cli

然后使用如下命令创建我们的项目

$ nest new bizhi-backend

到这里我们就得到了一个完整的 NestJS 的项目,接着我们可以通过 git 将我们的项目与远程仓库管理起来,如果你还不会 git,可以点这里进行学习

小程序端

小程序我直接使用自己之前搭建的模版,使用 git 或者直接下载到本地,再与远程的小程序仓库进行关联即可搭建完毕

小技巧: 如果你也使用我这个仓库作为模版,使用 degit 能够更好的帮你创建项目