Spring Boot + 微信小程序初级实战——梦想打卡ing

Spring Boot + 微信小程序初级实战——梦想打卡ing

前言

本文以开源微信小程序“梦想打卡ing”的全栈开发为基础,介绍了Nil Xuan的第一次全栈开发的经验和体会;(没错,就是自己提需求,自己写代码,自己为难自己的经验和体会);

项目简介

“梦想打卡ing”微信小程序提供中英文名言阅读、打卡收集并记录的功能;

每天打卡,每天为自己加油,为梦想喝彩!

微信搜索“梦想打卡ing”小程序即可体验;

功能介绍

  1. 首页阅读打卡功能:

在这里插入图片描述

点击为自己加油按钮即可打卡收集该卡片;每日只能点击收集一次;

  1. 打卡记录查询功能:

在这里插入图片描述

在这里插入图片描述
提供按月份显示打卡记录、点击具体打卡记录,显示当天的卡片;

  1. 收集卡片查询功能:

在这里插入图片描述

提供按月显示所收集的卡片,可左右滑动;

有用的站点

  1. 阿里图标库:解决了全栈开发过程中图标设计的难点,很适合个人开发者;
  2. pexels:提供免费可商用的海量高质图片,小程序所使用图片均来自该网站;

小程序功能点介绍

  1. 登录:通过wx.login返回的code,从后端获取当前小程序用户唯一的openid,并由此换取用户的userId;
  2. 模板:卡片在首页、收集页面、日历页面均有使用,所以使用小程序中的模板来实现重用;
  3. 网络回调:获取用户id以及相关打卡信息时的请求成功回调处理;
  4. 本地存储:用户的登录信息、打卡信息以及收集信息均在本地有所存储,保证每日更新的同时避免用户多次下载;
  5. 事件响应:日期选择器、按钮等控件的事件处理;
  6. 日历的生产和渲染:日历效果为纯js实现;

后端功能点介绍

  1. 打卡功能:记录用户的打卡信息,并提供查询接口;
  2. 卡片每日更新功能:通过定时任务实现,返回当天首页需要展示的卡片信息;
  3. 用户注册及登录功能:用户通过code获取openid后即算完成注册;用户通过本地存储的openid获取系统userId后即算实现登录功能;
  4. 卡片生成功能:名言和卡片解耦,分别提供对应生成接口,系统开发人员可通过该接口生成卡片;

技术栈介绍

  1. 前端以微信小程序原生开发为主;复杂功能点并不多,日历效果勉强算是一个难点,但是涉及多个页面的信息共享、信息依赖,逻辑处理流程较为复杂;
  2. 后端以Spring Boot为中心,使用Spring MVC、Spring Data JPA实现一个典型的Web应用;
  3. 整个项目实现了开发上的前后端分离,采用JSON为通讯格式;但是在API设计上并没有采用REST风格;

小感悟

“梦想打卡ing”项目落地的意义在于我第一次完整地走完了项目开发的流程:自己不再只是负责写一段代码或者一个模块,而是独立开发一个项目;自己并不是按照视频、书籍的示例代码完成一个项目,而是将自己的idea变为了可用的产品;

它的意义在于让我知道,没有文档约束的需求、接口是多么易变,而修改缺乏良好设计代码又是多么痛苦

同时,在这个过程中,自己所需要关注的不再是一个功能点,而是一个应用,这就更需要有全局的眼光和设计。不论是功能点的划分、接口的设计,还是通讯协议的制定、代码组织结构的管理,都需要更高的要求——从服务提供者的角度来看,功能要实现、组织要合理;从服务使用者的角度来看,接口要简洁,结果要明确;而自己既是服务的提供者,也是服务的使用者;不同的角度看待同一事物,真的感觉不同,所谓“横看成岭侧成峰,远近高低各不同”。

项目开源地址

梦想打卡ing项目码云地址

结语

“梦想打卡ing”是自己全栈开发的第一个实用型应用。正如题目所言——属于初级实战:技术难度、代码质量也不高。接下来,会努力的!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值