介绍

很高兴见到你。
我叫山田孝俊。
前几天,我们发布了一个名为“Ensoku 零食高达 300 日元!”的应用程序!
内容很简单,是一款选择300日元以内零食的应用。

我们开发了一项名为“Ensoku 小吃高达 300 日元!”的网络服务!

这是一款可以让您选择300日元以内的零食并在应用程序内或Twitter上分享结果的应用程序。请随意玩。https://t.co/19mcGxs2ma

— 山田孝敏(@Moyajine)2022 年 10 月 24 日 本文将是一个解释和回顾。

服务概览

这是一个简单的内容,您选择300日元以内的零食并将结果分享到Twitter和该服务中的“Minna no Snack”页面。
【個人開発】300円以内でおやつを選ぶアプリを作りました【えんそくのおやつは300えんまで!】

此应用程序和 GitHub 的 URL

你为什么要创建这个服务

当我带零食去和朋友聚会时,比我想象的更兴奋,所以我想,“根据那个故事做一个应用程序会不会很有趣?”
即使我从轻松的心情开始,这也非常困难。

怎么玩

  • 从“选择新”中单击您最喜欢的糖果
  • 确定后,按“Okaikei”按钮确认
  • 查看结果。您可以选择在 Twitter 上分享。
  • 登录后,您可以使用应用内功能“人人吃零食”向他人炫耀您的零食!
    【個人開発】300円以内でおやつを選ぶアプリを作りました【えんそくのおやつは300えんまで!】

使用的技术

画面转换图(初步计划)

在我知道之前,最初的计划已经走了很长一段路。
虽然具体操作不同,但行为并没有偏离最初的计划。
扩展尚未实现。
零食不包括香蕉。
【個人開発】300円以内でおやつを選ぶアプリを作りました【えんそくのおやつは300えんまで!】

ER图

ER 图不是特别难。
篮子充当中间桌子。 Authentications 将是一个用于 Twitter 登录的表。
以后想加个捶打表,比如review功能(左下角的空白是开发没及时做的残余)。
【個人開発】300円以内でおやつを選ぶアプリを作りました【えんそくのおやつは300えんまで!】

基础架构图

我使用 AWS 作为后端。
我的 MVP 是 Heroku,但有人谈论收费,所以我切换到 AWS。
我们真的在基础设施方面苦苦挣扎。特别是每个安全组。
应该有更聪明的方法。
【個人開発】300円以内でおやつを選ぶアプリを作りました【えんそくのおやつは300えんまで!】

顺便说一下,前端是Bootstrap。

环境

  • 红宝石:v3.1.2
  • 导轨:v6.1.6.1
  • node.js: v18.7.0
  • postgres:v14.3
  • redis: v6.2.7

Ruby 是 3 系列的稳定版本。 Rails 之所以选择 6 系列,是因为版本状态稳定,文档丰富。
其他人使用最新版本。

您使用的宝石中您想要补充的内容

主功能

  • 巫术
    用于登录功能。
    也用于 Twitter 登录。

  • 配置
    用于持续管理。

  • 野谷切
    用于采集。
    小吃数据主要是通过抓取来获取的。


  • 用于页面转换。
    点心选择画面无限滚动。

  • 洗劫
    用于搜索功能。

管理画面

  • 载波

  • mini_magick
    用于在管理界面手动添加零食图片。

  • 格莱特
    用于管理屏幕上的面包屑。

测试和错误分析

  • 鲁博科普

  • rubocop-rails
    用于代码的静态检查。

  • 更好的错误
    用于 Rails 错误屏幕格式化。

  • binding_of_caller'
    用于在浏览器上使用 irb。

  • factory_bot_rails

  • 水豚

  • 网络驱动程序

  • mock_redis
    用于使用 RSpec 进行自动化测试。

  • 覆盖范围
    用于覆盖测量。 .

其他

  • sd_notify
    用于在生产环境中使用 systemd 进行进程管理。

  • 站点地图生成器
    使用为 SEO 创建站点地图。

我苦苦挣扎的功能

  • 使用 Redis 进行会话管理(无需登录即可玩的功能)
    最初我在 CookieStore 中使用会话,但我搬到了 Redis,因为我想在安全性和散列方面处理数据。
    我第一次了解到 Cookie 一次转换为 String 并进行处理。

  • 推特登录/OGP
    回调等
    当然,外部应用联动的规范也有变化,不仅仅是推特,所以一定要掌握最新的信息。
    当然,要小心拼写错误。

  • 从 Heroku 迁移到 AWS
    我迁移到 AWS 是为了响应 Heroku 成为一项付费服务​​,但我敏锐地意识到我对基础设施的理解非常缺乏。
    如果 AWS 超过免费限制,则会产生费用,因此最好继续使用 Heroku。
    我刚刚学到了很多。

UU/PV

10 天内 148 个 UU。
PV数为869。
我希望通过发表这篇文章,它会增加一点。
【個人開発】300円以内でおやつを選ぶアプリを作りました【えんそくのおやつは300えんまで!】
【個人開発】300円以内でおやつを選ぶアプリを作りました【えんそくのおやつは300えんまで!】

概念错误报告

我总结了在 Notion 中原因和对策都清楚的 bug。
我觉得我已经处理过很多次错误,所以我想在以后更频繁地收集它们。

在最后

这个应用程序从构思到发布大约需要四个月的时间。
虽然我做三件事是有原因的:我现在工作的仓库的工作,我家水稻农场的工作,以及应用程序的开发,但我仍然觉得开发时间很长...
至于未来的前景,我们希望加强开发方面,例如自动化部署,同时专注于功能扩展。
我们计划为扩展功能添加以下功能。

  • 小吃评论功能
  • 允许您从本网站购买所选零食的功能(假设为 Rakuten API)
  • 添加了小吃变化

如果您有任何改进点或意见,请在评论或 SNS 上告诉我们。


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308632947.html

相关文章: