Daily Cost 介绍

2023-05-16

Daily Cost是我为了学习前后端开发的产出成果。从应用名可以看出是一个记账本应用,主要参考了鲨鱼记账,我从中挑选了一部分核心功能来自己开发实现。

1. 功能模块

作为一个正经的记账本应用,肯定要能满足用户的基本记账需求,因此Daily Cost 实现了以下功能:

  1. 用户注册和登录
  2. 用户可管理自己的记账类别
  3. 用户可新增、查看、编辑、删除一笔账单
  4. 用户可按月、按年查看总的收支数据

image-20220113165520167

说明:由于我水平和精力有限,部分功能未完全开发完成,具体如下所示。灰掉的部分功能后端接口已开发完成,但前端UI未完全开发完成,后续开发完成后会更新下图,大家也可在记账本-Daily Cost中查看最新进度。

2. 技术栈

2.1 前端主要依赖模块

  • react(前端框架,daily cost使用create-react-app创建)
  • react-router-dom(路由控制)
  • antd(蚂蚁金服开源的 react ui 组件框架)
  • antd-mobile(antd的移动端组件框架)
  • axios(http请求模块)

2.2 后端

  • Spring Boot 2
  • Spring Security(身份验证和访问控制)
  • maven(项目构建)
  • Swagger 3(接口文档)
  • Flyway(数据库版本控制工具)
  • MySQL(数据库)
  • Nginx(解决请求跨域问题)

3. 安装和运行

3.1 前端

  1. 下载或克隆项目前端源码

  2. npm install 安装依赖

  3. npm start 启动项目

3.2 后端

  1. 下载并安装Java、MySQL、Intellij IDEA
  2. 下载或克隆项目后端源码
  3. 在IDEA中打开项目,等待maven下载所有依赖
  4. 在application.properties中修改MySQL数据库配置(连接url、用户名、密码)
  5. ./mvnw spring-boot:run构建并运行daily cost应用
  6. 应用在8081端口运行成功:
    1. 可在浏览器中输入http://localhost:8081/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/查看和调试接口
    2. 检查MySQL数据库,数据表及数据初始化成功

3.3 Nginx

  1. 安装Nginx

  2. 修改Nginx的配置文件nginx.conf,Mac OS该文件目录为/usr/local/etc/nginx/nginx.conf

    server {
    	listen       8080;
    	server_name  localhost;
    
    	# 以下为需要新增的内容
    	location /api/ {
    		proxy_pass http://127.0.0.1:8081/;
    	}
    
    	location / {
    		proxy_pass http://127.0.0.1:3000/;
    	}
    	# 新增结束
    	
    	# 原本的内容无需更改
    
    }
    
  3. nginx -s reload重新启动Nginx

3.4 访问页面

​ 在浏览器中输入http://localhost:8080/,能够看到以下页面则证明运行成功。下图中我打开了移动端模式,并将大小设为375✖️ 812的最佳使用大小。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Daily Cost 介绍 的相关文章

  • 安卓的ATV系统

    Android系统根据是否需要认证分为AOSP系统和ATV系统 AOSP Android开源系统 xff0c 全称为Android Open Source Project ATV 产品依照 Android TV 制式标准提供统一的操作体验
  • ubuntu18 为什么安装的时候选择自动登陆,但是还是不能自动登陆呢

    2019 03 12 16 16 1 点击右上角的向下三角形 2 在出现的对话框里面 xff0c 点击右下角的扳手图标 3 点击 隐私 gt 锁屏 4 自动锁屏 L xff0c 保持不变 5 黑屏至锁屏的等的时间 A 改为 30分钟 6 显
  • zabbix 5.4 添加监控主机

    现在我们已经有了一个客户端主机了 xff0c 接下来我们要在zabbix server管理页面添加这台主机 xff0c 让server对agent进行监控 登录zabbix server的管理页面 xff0c 点击左侧操作树的配置选项 xf
  • (转载)环形缓冲区的实现原理(ring buffer)

    环形缓冲区的实现原理 xff08 ring buffer xff09 在通信程序中 xff0c 经常使用环形缓冲区作为数据结构来存放通信中发送和接收的数据 环形缓冲区是一个先进先出的循环缓冲区 xff0c 可以向通信程序提供对缓冲区的互斥访
  • 力扣295. 数据流的中位数

    中位数是有序列表中间的数 如果列表长度是偶数 xff0c 中位数则是中间两个数的平均值 例如 xff0c 2 3 4 的中位数是 3 2 3 的中位数是 2 43 3 2 61 2 5 设计一个支持以下两种操作的数据结构 xff1a voi
  • virt-manager cannot open display问题

    1 首先查看本机sshd是否开启X11转发 grep X11Forwarding etc ssh sshd config X11Forwarding yes X11Forwarding no 2 检查xorg x11是否安装 rpm qa
  • 2023RSAC创新沙盒大赛十强公布,软件供应链与开源软件安全再成焦点

    近日 xff0c 2023RSAC大会公布了第18届RSAC创新沙盒竞赛的决赛 十强企业 软件安全企业Endor Labs成功入围 xff0c 软件供应链安全和开源安全问题再次成为国际焦点 Endor Labs提供了一个可依赖的生命周期管理
  • 如何找到现有研发体系的「内耗问题」?| 谈效风生

    第3期 xff1a 如何找到现有研发体系的 内耗问题 xff1f 在上一期 谈到提升效能 xff0c 我们应该如何下手 xff1f 我们聊到开始做研发效能的四个要点 xff1a 评估现有流程 引入自动化工具 建立度量指标 持续改进 本期就围
  • 「自动化」聊起来简单,做起来难 | 谈效风生

    第4期 xff1a 自动化 聊起来简单 xff0c 做起来难 在上一期 如何找到现有研发体系的 内耗问题 中 xff0c 我们聊了评估现有研发体系 xff0c 正确的找到 体系内耗问题 xff0c 是改变研发体系的第一步 本期我们继续聊下一
  • GitChat·前端 | 从软件工程角度看大前端技术栈

    GitChat 作者 xff1a 韩亦乐 前言 我们都知道 xff0c 大学几乎是没有 Web 前端课的 以我所在的大学为例 xff0c 唯一引导我们了解 JavaScript 的也只是 人机界面 和 Web应用开发 选修课 再者 xff0
  • 当我说要做大数据工程师时他们都笑我,直到三个月后……

    作者 xff1a Fickr孫啟誠 原文 xff1a 三个月大数据研发学习计划实战解析 关注微信公众号 xff1a GitChat 技术杂谈 一本正经的讲技术 不要错过文末彩蛋 申明 xff1a 本文旨在为普通程序员 xff08 Java程
  • 带你从零开始,快速学会 Matlab GUI

    本文来自作者 木木小迷哥 在 GitChat 上分享 Matlab GUI 零基础学员快速入门 xff0c 阅读原文 查看交流实录 文末高能 编辑 洛肯 Matlab广泛地应用于数学分析 计算 自动控制 系统仿真 数字信号处理 图像处理 数
  • 修改订单金额!?0.01 元购买 iPhoneX?| Web谈逻辑漏洞

    本文来自作者 肖志华 在 GitChat 上分享 Web 安全恩仇录 xff1a 再谈逻辑漏洞 xff0c 阅读原文 查看交流实录 文末高能 编辑 哈比 Web 漏洞里有 SQL 注入 XSS 等漏洞 xff0c 但是逻辑漏洞等问题也是一个
  • zabbix 5.4 配置Email报警媒介

    我们使用zabbix主要的目标就是实现运维的自动化 xff0c 当被监控的系统出现问题时zabbix能够自动的提示我们 xff0c 要实现这个功能就必需设置报警媒介 本文带领大家配置一个Email报警媒介 我们使用zabbix主要的目标就是
  • 如何开发一款游戏:游戏开发流程及所需工具

    本文来自作者 goto先生 在 GitChat 上分享 如何开发一款游戏 xff1a 游戏开发流程及所需工具 编辑 哈比 游戏作为娱乐生活的一个方面 xff0c 参与其中的人越来越多 xff0c 而大部分参与其中的人都是以玩家的身份 他们热

随机推荐

  • 如何用 Python 做自动化测试

    本文来自作者 Vant 在 GitChat 上分享 如何用 Python 做自动化测试 编辑 哈比 一 Selenium 环境部署 1 window 环境部署 1 1 当前环境 Win10 64 位系统 xff1b Python3 6 2
  • 我真的要做一辈子的程序员吗?

    本文来自作者 王鹏 在 GitChat 上分享 程序员跳槽时 xff0c 如何正确做好职业规划 xff1f 阅读原文 查看交流实录 编辑 贝吉塔 经常听一些同学说 xff1a 不知道下一份工作该去哪类公司做些什么 xff0c 我的职场人际一
  • 20万到100万年薪的算法工程师有什么区别?

    公元七世纪 xff0c 在车迟国国家气象局组织的一次求雨活动中 xff0c 虎力 鹿力 羊力三位大仙成功地祈下甘霖 xff0c 救黎民于水火中 老国王虽然不明就里 xff0c 却从此尊他们为国师 xff0c 奉道教为圭臬 本世纪 xff0c
  • 关于handler的内存泄漏的总结

    本文并非完全是原创 有网络上边的 也有自己的思考与总结 本文主要有三部分来介绍handler的介绍 第一 熟悉一下handler的流程 1 当Android程序第一次创建的时候 xff0c 在主线程同时会由ActivityThread 创建
  • Android 设置应用的底部导航栏(虚拟按键)背景颜色

    Android手机机型种类繁多 但是虚拟按键也就是底部的导航栏 不外乎两种设计方式 一种是作为虚拟按键设计到屏幕内部 一种是作为系统按键设计到屏幕外面 对于按键在屏幕内部的机型 因为虚拟按键也是屏幕内容的一部分 它也实际占据屏幕一定的高度
  • Adobe XD使用心得及简单使用技巧

    关于Adobe XD Adobe XD xff0c 全称Adobe Experience Design 这是一款集原型 设计和交互于一体的小清新时代风格的设计软件 虽然传言中 xff0c Adobe XD将会是skech的劲敌 然而在win
  • 生产者消费者问题(代码实现)

    生产者 消费者问题 xff08 也被称为有界缓冲器问题 xff09 是一个典型的例子多线程同步的问题 问题描述了两个进程 xff0c 生产者和消费者 xff0c 谁都有一个共同的 xff0c 固定大小的缓冲区作为一个队列 制片人的工作是生成
  • BIO与NIO的方式实现文件拷贝

    面试题 编程实现文件拷贝 xff08 这个题目在笔试的时候经常出现 xff0c 下面的代码给出了两种实现方案 xff09 span class hljs keyword import span java io FileInputStream
  • Linux上jmeter-server启动失败

    贴个广告 楼主的博客已全部搬迁至自己的博客 xff0c 感兴趣的小伙伴请移步haifeiWu与他朋友们的博客专栏 Jmeter server启动失败 xff1a Cannot start Unable to get local host I
  • zabbix 5.4 添加报警动作

    我们先来看一下zabbix动作事件的整个流程 xff0c 通过下面的流程图希望大家对zabbix的报警功能要有一个整体上的认识 一个完整的报警功能必要条件 xff1a 监控项 xff1a 用于实时采集主机的数据 xff08 CPU xff0
  • Mysql的七种join

    对于SQL的Join xff0c 在学习起来可能是比较乱的 我们知道 xff0c SQL的Join语法有很多inner的 xff0c 有outer的 xff0c 有left的 xff0c 有时候 xff0c 对于Select出来的结果集是什
  • shell脚本实现自动保留最近n次备份记录

    贴个广告 楼主的博客已全部搬迁至自己的博客 xff0c 感兴趣的小伙伴请移步haifeiWu与他朋友们的博客专栏 项目中出现的问题 某天上午服务器出现卡顿特别严重 xff0c 页面加载速度奇慢 xff0c 并且某些页面刷新出现404的问题
  • Java实现终止线程池中正在运行的定时任务

    贴个广告 楼主的博客已全部搬迁至自己的博客 xff0c 感兴趣的小伙伴请移步haifeiWu与他朋友们的博客专栏 源于开发 最近项目中遇到了一个新的需求 xff0c 就是实现一个可以动态添加定时任务的功能 说到这里 xff0c 有人可能会说
  • TCP 粘包问题浅析及其解决方案

    最近一直在做中间件相关的东西 xff0c 所以接触到的各种协议比较多 xff0c 总的来说有TCP xff0c UDP xff0c HTTP等各种网络传输协议 xff0c 因此楼主想先从协议最基本的TCP粘包问题搞起 xff0c 把计算机网
  • Redis协议规范(译文)

    原文地址 xff1a haifeiWu的博客 博客地址 xff1a www hchstudio cn 欢迎转载 xff0c 转载请注明作者及出处 xff0c 谢谢 xff01 Redis客户端使用名为RESP xff08 Redis序列化协
  • Netty 源码中对 Redis 协议的实现

    原文地址 xff1a haifeiWu的博客 博客地址 xff1a www hchstudio cn 欢迎转载 xff0c 转载请注明作者及出处 xff0c 谢谢 xff01 近期一直在做网络协议相关的工作 xff0c 所以博客也就与之相关
  • 高性能无锁队列 Disruptor 初体验

    原文地址 xff1a haifeiWu和他朋友们的博客 博客地址 xff1a www hchstudio cn 欢迎转载 xff0c 转载请注明作者及出处 xff0c 谢谢 xff01 最近一直在研究队列的一些问题 xff0c 今天楼主要分
  • MYSQL快速导入大量数据 - LOAD DATA INFILE

    问题背景 xff1a 在做性能测试时 xff0c 通常需要根据业务模型在数据库中预置大量数据 我一开始的做法是使用python生成INSERT INTO语句的SQL脚本后 xff0c 再导入对应数据库 使用中会发现速度很慢 xff0c 10
  • Postman使用教程 - 导入请求(Import)

    Postman是一个有着图形化界面的API请求模拟平台 xff0c 在构造请求时最常见的莫过于手动在对应的输入框中填入相应的内容 xff1a 根据被测HTTP请求的Method URL Headers Request Params Body
  • Daily Cost 介绍

    Daily Cost是我为了学习前后端开发的产出成果 从应用名可以看出是一个记账本应用 xff0c 主要参考了鲨鱼记账 xff0c 我从中挑选了一部分核心功能来自己开发实现 1 功能模块 作为一个正经的记账本应用 xff0c 肯定要能满足用