约学 - 可以寻找一起自习的小伙伴的Web APP

一个基于 Vue & Node 的移动端全栈小项目

在线演示(请使用移动端查看效果)

源码地址: https://github.com/G-lory/yuexue

(感觉要被玩坏了…我知道有很多bug…发现bug可以告诉我……谢谢dalao们……)

部分页面截图(不许吐槽我首页的背景图片!

      

技术栈

前端:Vue2 vue-router Webpack axios sass MintUI Iconfont

后端:NodeJS(v8.11.1) Koa2 Sqlite node-cache log4js

启动项目

我将前后端项目到同一个github repo了

# 克隆项目
git clone https://github.com/G-lory/yuexue.git # 启动后端项目
# 到后端项目
cd yuexue-server
# 安装依赖
可以通过 npm install --registry=https://registry.npm.taobao.org 重新指定 registry 来解决 npm 安装速度慢的问题
npm install
# 运行后端项目 打开浏览器访问 http://localhost:3001
npm run start # 启动前端项目
# 到前端目录
cd yuexue-frontend
# 安装依赖
npm install
# 热加载启动 打开浏览器访问 http://localhost:8080 (保证后端项目已启动
npm run dev
# 生产环境压缩打包
npm run build

实现功能

  • 邮箱注册
  • 邮箱密码登录
  • 查看个人信息
  • 修改个人信息
  • 上传头像
  • 退出登录
  • 密码找回
  • 首页信息展示
  • 未读消息提示
  • 发布邀约
  • 删除已发布邀约
  • 查看邀约
  • 根据城市信息和关键字搜索邀约
  • 接受邀约
  • 密码加密存储
  • 打印日志且保存到文件

未实现 & bug

  • 邀约列表页在某些浏览器中 列表不能完全加载
  • 后端代码未加单元测试

项目结构

前端

后端

 

其他

写项目之前是不会 nodejs 的,因为有Java基础,所以目录结构在参考他人的基础上,就着Java的MVC结构写的。

单元测试实在不会(想)写了。

开始数据库使用的是Mysql,但是由于我的服务器内存太小了装不上,改成了sqlite…(全部写完又修改的……QAQ)

同样的是问题是保存验证码之前还想着用一下redis(可以假装很厉害)后来使用了node-cache

遇到了很多很多问题,包括但不限于

  • 移动端滑动穿透的问题
  • 仿移动端页面切换效果,这两个问题可见(https://www.cnblogs.com/wenruo/p/9948348.html)
  • sqlite 数据库操作问题 (后来发现是引用文件时要使用绝对路径)
  • 某些设备 #加8位十六进制数字表示透明色不生效 改成 rgba 修复
  • 开始使用HTML自带表单,通过 Ajax 提交,提交表单会导致刷新页面,使的用 iframe 修复,后面全部删除了表单
  • 列表无限加载有些时候不生效(未修复,因为好像大部分都没问题
  • 跨域问题,包括 cookie 跨域问题

没人可问的情况下查了很多资料,边查边尝试。有些生效了。有些是在没办法,就只能回避问题。最终实现的效果不算太好,不过至少把最初想的写完了(我想的就是一个很简陋的样子……

总结

还是要动手写一写代码,不然你根本不知道你有多菜……

参考资料(虽然很多不记得了……

一个 Vue & Node 的全栈小项目的更多相关文章

  1. 一个 "开箱即用" 个人博客全栈系统项目!vue+node+express+mysql+sequlize+uniapp

    " MG'Blog " 一个 "开箱即用" 个人博客全栈系统项目! 探索本项目的源码 » 前台预览 · 管理端预览 v1.0.2 小程序预览 v1.0.2 介绍 ...

  2. Vue+koa2开发一款全栈小程序(1.课程介绍+2.ES6入门)

    1.课程介绍 1.课程概述 1.做什么? Vue+koa2开发一款全栈小程序 2.哪些功能? 个人中心.图书列表.图书详情.图书评论.个人评论列表 3.技术栈 小程序.Vue.js.koa2.koa- ...

  3. 微信小程序云开发-从0打造云音乐全栈小程序

    第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过 ...

  4. 实习模块vue+java小型全栈开发(三)

    实习模块vue+java小型全栈开发(三) --dx 背景 首先,先给自己一个答案:这篇博客我定义为(三),因为之前的两个模块页面,内容都是一样的,但是被改了几次需求,就一直拖着没有上传. 今天是真正 ...

  5. koa+mysql+vue+socket.io全栈开发之数据访问篇

    后端搭起大体的框架后,接着涉及到的就是如何将数据持久化的问题,也就是对数据库进行 CURD 操作. 关于数据库方案, mongodb 和 mysql 都使用过,但我选用的是 mysql,原因: 目前为 ...

  6. Vue+koa2开发一款全栈小程序(3.vue入门、Mpvue入门)

    1.Vue-cli 1.新建一个vue项目 打开cmd 官方命令行工具 npm install -g vue-cli //安装脚手架 cd到你想要存放demo的目录下,然后 vue init webp ...

  7. 【Spring Cloud & Alibaba全栈开源项目实战】:SpringBoot整合ELK实现分布式登录日志收集和统计

    一. 前言 其实早前就想计划出这篇文章,但是最近主要精力在完善微服务.系统权限设计.微信小程序和管理前端的功能,不过好在有群里小伙伴的一起帮忙反馈问题,基础版的功能已经差不多,也在此谢过,希望今后大家 ...

  8. Node.js 全栈开发(一)——Web 开发技术演化

    这些年一直不断接触学习 Node 技术栈,个人的技术开发学习兴趣也越来越倾向 node 流.也许是由于英语的关系,也许是因为墙增加了学习国外一手资料的难度,加上现在流行的 web 开发技术并不太容易上 ...

  9. Vue+koa2开发一款全栈小程序(5.服务端环境搭建和项目初始化)

    1.微信公众平台小程序关联腾讯云 腾讯云的开发环境是给免费的一个后台,但是只能够用于开发,如果用于生产是需要花钱的,我们先用开发环境吧 1.用小程序开发邮箱账号登录微信公众平台 2.[设置]→[开发者 ...

随机推荐

  1. Servlet校验密码之Mariadb篇

    Servlet校验密码之Mariadb篇 先放图-- 数据库: 效果图: 整体来说与上一篇差距不大,这次主要是采用数据库来进行校验,我使用的是Mariadb,安装与配置不用我说 主要有一点,导入连接器 ...

  2. 【UER #8】雪灾与外卖

    题解: 这个东西的模型是个费用流 但是直接跑费用流能拿到5分的高分 $(nm)*(nm)*log{nm}$ 考虑优化一下建图 我们可以不用对每个店和人都连边 而是对人和店都连一条链 然后对每个人连店刚 ...

  3. 8、socket以及socketserver

    Python 提供了两个基本的 socket 模块.第一个是 Socket,它提供了标准的 BSD Sockets API.第二个是 SocketServer, 它提供了服务器中心类,可以简化网络服务 ...

  4. Codeforces 126B. Password (KMP)

    <题目链接> 题目大意:给定一个字符串,从中找出一个前.中.后缀最长公共子串("中"代表着既不是前缀,也不是后缀的部分). 解题分析:本题依然是利用了KMP中next数 ...

  5. 小程序即时聊天(仅页面功能,未接websocket)

    我们都知道小程序是不能直接操作dom的,所以做即时通讯聊天功能的时候也就不能像之前做的一样:点击发送的时候,拼接一个节点到页面上.话不多说,以下是效果和代码: -------------------- ...

  6. patch 请求时,关于id的报错问题

    在更新操作时,先显示要更新的数据内容,再修改 在发送patch请求时出现 After applying the update to the document {_id: ObjectId('55be3 ...

  7. XIX Open Cup named after E.V. Pankratiev. GP of Poland(AMPPZ-2018)

    A. Drone With a Camera 三分套三分. #include<cstdio> #include<cmath> #include<algorithm> ...

  8. go-设计思想

    1, 围绕 简单 这一核心的设计 隐式接口,切片, 类的弱化,强制用组合 简洁高效的并发 弱化的指针 err 判定,先判错的习俗. 2, 有自己的坚持,不盲目攀比 比优点比不过很多语言,没C快,没ja ...

  9. 2018-2019-20175324实验一《Java开发环境的熟悉》实验报告

    2018-2019-20175324实验一<Java开发环境的熟悉>实验报告   实验内容与结果 一.Java开发环境的熟悉-1 1.实验要求: 0 参考实验要求 1 建立“自己学号exp ...

  10. Linux 搭建Nginx+uWSGI+Django环境

    安装环境 sudo apt-get install nginx sudo apt install python3 sudo apt install python3-pip 使用 sudo pip3 i ...