本文已参与「新人创作礼」活动,一起开启掘金创作之路。
该篇文章包括:需求分析、技术选型、项目搭建、版本控制等内容
前言
最近在小程序当中搜索寻找为自己手机寻找壁纸的时候,突然想着自己也实现一个壁纸小程序岂不是更好,接着就有了现在这个文章所写的项目
需求分析
通过上面的描述我们可以知道,我们的需求是实现一个自己的壁纸小程序,就目前为止,我能够想到的功能如下,如果有同学能够有想到更多的功能,欢迎评论留言:
- 用户的登录注册:使用微信小程序一键登录
- 壁纸推荐:考虑随机或者在后台人工推荐,为啥不上 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 能够更好的帮你创建项目