之前利用业余时间搭了一套serverless的天气小应用,感觉学习到了挺多东西的, 就在这里记录一下,自己也复习一下整个过程。
废话不多说,让我们开始吧!
技术栈
这套东西后端用了express,MongoDB,外加一些 js 的第三方库,然后用了现在流行的serverless,准备之后直接部署到AWS,或者阿里云上。
前端用了flutter,搭建了一个简单的手机应用,当然也可以用react-native来做, 为了学习一下flutter和react有啥区别,就试着变学一遍搭建了。从使用角度来说flutter和react还是挺想,也用了redux - dispatch那一套架构,所以熟悉react-redux那一套玩法的同学应该用起来没啥难度。
好了, 让我们从后端开始吧
后端
先来看一下后端的整体文件架构,目前就只有两个大的功能,查询天气信息和用户管理,用户管理的话就是简单的注册,登录和权限管理。

下面来单独讲讲这些都是啥东西。
common
这里就是放一些公共的组件和一些公共的类型定义。
目前就放了两个公共的组件,日志和回复消息类型。
controller
这里放的就是主要的相应controller, 除了用户和天气消息模块,还有一些中间件函数。这些函数就是在各个controller共享的。
loader
这里就是程序启动的时候最先启动的功能,这一部分就比较简单,主要是程序启动的时候连接数据库,创建日志等。
model
就是我们的数据模块了。
比较方便的就是用repository模型了,在这里也用了这个模型。
service
就是服务层了,主要为了方便controller调用,主要的业务逻辑就应该放在这里。
以上就是后端的整体架构了,以后我们会具体展开,全部代码都放在GitHub了,请同学们移步。
网友评论