[GO] [Personal development] Released "Zerorie", a calorie management app that makes all foods 0kcal.

Introduction

Hello.

I think the real thrill of personal development is ** "waste of technology" **.

I also created a ~~ shit ~~ app by personal development, so I will record various things below.

Service overview

This time, I used ** "Zero Calorie Theory" ** to create a ** calorie management app ** "Zerorie" ** ("Zerorie") that makes all foods 0kcal. iOS の画像 (9).jpg

** "Zero calorie theory" ** is a story devised by Mr. Date of Sandwichman, such as "Sushi is 0 kcal because calories are crushed by grasping" ** Ton demo that reduces the calories of food to 0 kcal It's a theory **.

In other words, if you use this app, all the food you eat will be reduced to zero calories, so you can say ** "I care about calories and put up with my meal" "I feel guilty about eating high calorie food" ** You can enjoy your meal without worrying about calories.

App URL

https://zerorie.com/

Github repository

https://github.com/ryota1116/zero_calorie

How to use the app

This is the top page. ~~ It looks like a fucking app ~~ It has a beautiful design. スクリーンショット 2020-10-13 22.02.35.png

This app starts by searching for the food you ate. You can search for the food you have eaten by the "name" or "image" of the food. スクリーンショット 2020-10-16 15.28.25.png

"Food data" and "Why food is 0kcal" are displayed as search results. スクリーンショット 2020-10-16 15.35.12.png

When you select a food from the search results, the "meal record registration page" is displayed. When you perform an image search, the image used for the search is displayed in the preview, and you can register the image together. スクリーンショット 2020-10-16 15.30.47.png

If you do not get the corresponding search results when searching for food, you will be angry with ** "I don't know what you are saying" **. In that case, try "change the search conditions" or "register new food". スクリーンショット 2020-10-16 15.54.16.png

On the food registration page, the images used in the image search are also displayed. スクリーンショット 2020-10-16 15.58.16.png

If you enter a calorie other than 0 on the food registration page, a validation error will occur and you will be angry with ** "The calorie of this food is 0 kcal. Please enter 0." **. Enter 0 properly. スクリーンショット 2020-10-16 16.03.17.png

Roughly the main function is like this.

Top 3 personally favorite calorie theories

I will announce my favorite top 3 calorie theory without permission. There are many other calorie theories, so honestly it was a painful decision to decide on the top three.

1st place: "Nankurunai" = "Zero calories" (Okinawa cuisine calorie theory)

When I go to Okinawa, I often see the word "Nankurunai" in the city, and that's what it meant. I became more and more fond of Okinawa.

2nd place: Vegetables nullify calories. This is the reason why regulars order extra vegetables. (Jiro's calorie theory)

It's an unexpected discovery that Jiro was also 0kcal. With this, I can spend my days on the Jiro diet with peace of mind.

3rd place: Japanese sweets are foods that embody Wabi-sabi. It is outrageous to bring the story of calories to the heart of Wabi-Sabi. (Calorie theory of Japanese sweets)

I simply don't understand the meaning. I'm worried that Sen no Rikyu isn't crying.

Why made

I liked comedy and food. When I was thinking about developing interesting apps related to "food" and "laughing", I suddenly came up with the idea.

The future that can be seen with Zerorie

No matter what you eat, there are no calories, so daily calorie management is easy.

No matter how much you eat, the total calorie intake is zero, so it's easy to calculate.

You can justify yourself eating what you like.

If you run out of calories, you have no reason to blame yourself, right?

Laughable. You can make a story.

"Aha! I ate ramen at midnight, but it's 0kcal!" And laughs and cheats. Also, even if people around you complain that you're eating too much, you can pass on the responsibility to Zerorie, and if you say "0kcal because it's OO", the atmosphere of the place should be softened.

Technology used

ER diagram

As a result of considering the requirements you want to meet and the extensibility of the application, it is as follows. The table design is interesting, but it's a pain. image.png

Infrastructure configuration diagram

I used AWS for the infrastructure.

Also, every time you push to Github, automatic test by CircleCi, test coverage measurement by Codecov, GitGuardian (: //www.gitguardian.com/) is trying to detect confidential information and vulnerabilities in the repository.

After that, Capistrano automates the deployment.

In this way, I made a shit app ~~ shit seriously. image.png

Development period

It took two months to deploy. It takes about 300 to 350 hours.

Difficulties

Image search capability with Active Storage and Google Cloud Vision API

I had a hard time implementing one of the main functions, the "image search function". I had a lot of trouble, such as hitting the Vision API using Active Storage, holding the data used for image search in a session, and how to prepare an image search function for food on my own, but I learned a lot.

Deploy Rails 6 series on AWS (using Capistrano)

This was also painful. Since webpacker is installed as standard in Rails6 series, it was necessary to install yarn, but I forgot about that, and I had a hard time writing the nginx configuration file. And most of all, I was most desperate when I read the error text and no hint was written. Infrastructure's Kashii.

Features you want to implement in Zerorie in the future

LineBot that returns the calorie theory of food

This is one of the functions that I had been thinking about from the beginning of development. If you can easily search for food on Line, you can enjoy the world of zero calories more easily, so I definitely want to create it.

You can stamp your favorite calorie theory with grass

There was an opinion that "I wanted to push the grass (like) when I saw Zerorie", so I definitely wanted to implement it. Also, there are cases where users make calorie theory when registering food data, so I thought it would be nice to have something like a ranking of interesting calorie theory.

in conclusion

After all, I realized once again that the fun of programming is to be able to put my thoughts and ideas into shape. And especially in personal development, I think that the goodness will appear only when the person's color, thoughts, and individuality come out.

I'm thinking about some other ideas, so I'd like to develop them again, but next time I want to make something more business-oriented than laughable.

Thank you for visiting our website!

Recommended Posts

[Personal development] Released "Zerorie", a calorie management app that makes all foods 0kcal.