[PYTHON] I'm always impatient when ordering a cafe, so I made a React app to solve it.

App overview

We have created an app that allows you to list the drinks and food menus of major cafe chains such as Starbucks and Doutor by store.

The product name and price of each size will be displayed, and tapping the line will take you to the official details page.

Why made

At a so-called "coffee shop", you can see the menu slowly from the seat, but with Starbucks, you may have to make an immediate decision in front of the cashier **.

People are lined up behind me, and there is a clerk in front of me ...

In this situation, you can't see the whole menu ** and you tend to make the same safe orders as before **.

** I wish I could scrutinize it slowly while lining up **, so I made it.

URL

Click here for the app

Click here for repository

Technology

Untitled Diagram.png

All configured on AWS.

(The arrow is the flow of data requested by the user)

front end

Hosted on S3 with SPA by React.

I think the static site hosting function of S3 is enough, but I am going through Cloudfront to support https.

I used Material-UI for the UI framework.

Back end

From React, through API Gateway-> Lambda function, json is returned for the menu data stored on S3.

The data is scraped only once a day from the official website of each cafe chain.

Scraping

The language is Python and I used a library called requests-html.

Speaking of Python, requests and Beautiful soup are famous, but requests-html seems to be a collection of libraries around that and made easy to use.

In fact, it's recommended because it's fairly intuitive to use.

Task

I'm not used to React yet

It was my first React app, so I was often confused.

I would like to study more about the dependencies and responsibilities of each component, including redux.

Value as a product

If you set an appropriate ideal, you can make as many web services as you like, but products that can be used by many people are rare.

This app was created as a result of devising ideas with the aim of "** surely meeting someone's needs, whether it's shabby or dull **".

However, I think it is unavoidable that ** no matter how much you think about it, you will not come up with a definite idea **.

Anyway, I will lighten the footwork and accumulate small verifications.

Recommended Posts

I'm always impatient when ordering a cafe, so I made a React app to solve it.
A Python beginner made a chat bot, so I tried to summarize how to make it.
I made a function to crop the image of python openCV, so please use it.
I stumbled when I tried to install Basemap, so a memorandum
I made a program to solve (hint) Saizeriya's spot the difference
A memorandum when I tried to get it automatically with selenium
I made a segment tree with python, so I will introduce it
I tried to make a calculator with Tkinter so I will write it
I made a Discord bot in Python that translates when it reacts
I made a program to notify you by LINE when switches arrive
When I try to go back using chainer, it fits a little
I made an app for foreign visitors to Japan with a hackathon and won a prize, but when I thought about it carefully, it was useless.
I touched "Orator" so I made a note
I made a script to display emoji
In IPython, when I tried to see the value, it was a generator, so I came up with it when I was frustrated.
When I made a treemap (area graph) with python, it was subtle, so when I used flourish, it felt pretty good.
I made a tool to notify Slack of Connpass events and made it Terraform
When I tried to make a VPC with AWS CDK but couldn't make it
When I tried to create a virtual environment with Python, it didn't work
I made an appdo command to execute a command in the context of the app
A story that I was addicted to when I made SFTP communication with python
I set up TensowFlow and was addicted to it, so make a note
What to do when matplotlib gets angry on CentOS saying "I'm using Agg so I can't issue a figure"
I made a tool to compile Hy natively
I made a tool to get new articles
I want to upload a Django app to heroku
I uploaded a module to pypl that deletes Japanese stop words, so share it
I forgot to operate VIM, so I made a video for memorization. 3 videos by level
I don't like to be frustrated with the release of Pokemon Go, so I made a script to detect the release and tweet it