手摸手开发一个全栈项目

这个项目的最初灵感来源于神光大佬的文章短链服务?自己用 Nest 写一个

看完后就动手使用 go 根据文章实现了一下

在这过程中想到想到也许可以扩充一下于是就有了这个项目

后端项目地址kkdl-go、前端项目地址kkdl 仍在开发中------

项目简介

使用 go、vue3 相关技术全栈开发一个短链管理平台

项目主要是为了实现一些功能可以说是为了实现而实现,项目中的代码没有太高深的语法及逻辑学过 go 基础知识就可以上手

主要开发环境

  1. MacOs 11.4
  2. node v16.20.0
  3. pnpm 8.2.0

主要技术栈

前端: vite5、vue3全家桶、element-plus、vueuse

后端: goframe、go(1.18)、mysql、redis、七牛云 oss、邮件发送

目前已经实现的功能

用户

用户的 crud 一个系统中总是会充斥着各种各样的增删改查业务

登录

目标是实现邮箱登录、小程序码扫码登录

使用邮箱登录注册的原因很简单,短信验证服务要花钱买!!!

而邮箱登录、注册其实与短信验证类似,都是发送一个码然后进行验证

短链 code

目前只有一个接口调用后批量生成短链code,当然每天也会定时生成一批 code,开发这个接口是为了测试

短链管理

这个模块的接口比较多增、删、改、查、批量导入、批量导出、导入模版下载对应了一个后台管理页面的大部分功能

微信小程序

这里主要是微信小程序登录所需要使用的一些接口,获取小程序码、获取 openId

公共

这个目录目前有两个接口文件上传、发送邮箱验证码

项目启动

安装 goframe 框架工具

goframe 框架工具安装文档 正确安装后执行 gf -v 可显示工具信息

导入 sql 文件

sql 文件所在目录 manifest/deploy/sql

配置文件

微信、七牛云、邮箱不配置也可正常启动

yaml 复制代码
server:
  address:     ":6001"
  openapiPath: "/api.json"
  swaggerPath: "/swagger"

logger:
  level : "all"
  stdout: true

# Database
database:
  logger:
    level: "all"
    stdout: true
  default:
    type: "mysql"
    link: "mysql:root:123456@tcp(127.0.0.1:3306)/kkdl?loc=Local&parseTime=true"
    debug: true

# Redis
redis:
  default:
    address: 127.0.0.1:6379
    db: 1
    pass: 123456
    idleTimeout: 600

# 微信
weChat:
  miniPrograms:
    appid: xxx
    secret: xxx

# 七牛云
qiNiuConfig:
  access: 'xxx'
  secret: 'xxx'
  bucket: 'xxx'
  baseUrl: 'xxx'

# 邮箱配置
emailConfig:
  key: 'xxx'
  email: 'xxxx@qq.com'

启动

执行 gf run main.go 启动项目

更新计划

每周一篇,直至完结

好大哥, 求内推 5 年前端开发经验主要使用 vue !!!!!

往期文章

相关推荐
摇滚侠11 分钟前
SpringMVC 入门到实战 HttpMessageConverter 65-74
java·后端·spring·intellij-idea
李白的天不白21 分钟前
Tree-Shaking
前端
Csvn27 分钟前
用户与权限管理 — 从创建到精细化管控
后端
金銀銅鐵29 分钟前
用 Tkinter 实现简单的论语第一章阅读器
后端·python
Csvn40 分钟前
TypeScript:你以为安全的 `JSON.parse` 其实是颗雷 — 运行时类型安全实战
前端·javascript
霸道流氓气质42 分钟前
Spring Boot Multipart 表单中文乱码问题全解析
java·spring boot·后端
触底反弹44 分钟前
从 JS 引擎执行原理理解数据类型:栈内存、堆内存与作用域
javascript·数据结构·面试
长栎44 分钟前
Spring Boot 自动配置的3种设计模式,比 @Autowired 更值得搞懂
后端
橘子星44 分钟前
深入理解线性数据结构:栈、队列与链表
前端·javascript
dadaobusi1 小时前
Linux内核完成大量内存/调度/时间子系统初始化的关键阶段
java·linux·前端