What's the ideal wedding in your heart? Don't worry! Python helps you to complete your romantic journey!

Source: Internet
Author: User

September 3, 2017, for most people in the world, it may be just an ordinary day, but for me, it will be a memorable day, because on that day, I got married.

There are many different aspects to consider when planning your wedding. Food, decoration, table installation (Ah, it's DA, this is independent of decoration), flowers, lodging, transportation, entertainment and location. Although there are so many unknowns in planning your wedding, I can be sure of one thing. In the wedding, there are a large number of lists, nested lists, and more far-sighted lists. As I stared at more and more projects, I began to wonder if there was a better way to deal with it. It's all so manual and full of inefficiency. There must be some aspect of technology that can be improved.

You might be surprised, but inviting people to a wedding is expensive (more than 380 pounds) because you need to send a "on time" card and subsequent invitations to details about the wedding. This is also slow, because you have to send them by mail. It is very time-consuming to track whether people receive invitations and whether they want to come to parties that offer free food and drinks, of course, a good one automatically? Finally, invitation cards are not environmentally friendly because they are used once and are easily lost or misplaced.

Back to the list. The guest list is divided into several parts:

But the list is good. They have pre-defined requirements and responses that make them an important choice for automation.

Bottle Citic

Regardless of age, I'm sure everyone on the wedding list has a cell phone, which means it's time for Twilio to play. If you want to jump to the code, then you can look at the repo on GitHub.

SMS is quite perfect for my needs. I can configure the sending of mass SMS and handle the response quickly and efficiently. When I draw an MVP and consider a database, I want something that is easy to share, and I don't want to waste time building a view. The occasional discovery of the Gspread Python library enabled me to read and write Google spreadsheets. While this is not the quickest option, it is indeed flexible enough and provides an easy-to-access and readable output.

For the initial R.S.V.P, I created a spreadsheet that contains these columns:

After the main data input is complete, I use Gspread to traverse the list and send a text message to each guest with a mobile number associated with it: sheets.py

Because text messages can look simple, I've added some Unicode to make them interesting. Here are the message styles that the lucky invitees receive:

Next, I use flask as my web server, then set my Twilio message request URL to point to the/messages URL and create a simple if statement to parse the reply (yes, no): hello_guest.py

The first message was sent at 8:37 on the morning of February 19, and after 3 minutes, the first reply was received 8:40. By the 9:38, I received 23 confirmation reply, this is 32% acceptance rate! Initial mass SMS 2 days later, we received confirmation from 58% of our guests! Despite the obvious success, my fiancee is not enthusiastic about my wedding invitation service (Saawis?). SMS, so I decided to add some features to my app.

Statistics! I can calculate the live attendance list and return it as requested, giving the bride even feedback on the form of the guest list. The code is simple because I've set up some basic counters in the spreadsheet, so just grabbing the contents of those cells and adding them to the text message: hello_guest.py

The following is the final SMS:

Not very beautiful, but very useful.

Lauren is now able to track attendance, which has greatly eased her stress. From then on, everything was ready and text messages were integrated as much as possible into the wedding. Some are obvious, for example, when the wedding site (naturally, powered by Heroku) sends a notification text message, shares a list of gifts and other things that I still feel proud of.

Food, excellent food.

After the establishment of the R.S.V.P list, it is often postponed to allow guests to confirm their food choices. You will be amazed at how difficult it is for people to choose free food. The first step is to send another text message that tells those confirming the participation of the guest to visit the site and choose their food option through a Google form. Pretty standard stuff, however, the form is set to fill the same workbook as the participant. This means that now I have the confirmed guests and the guest forms that fill out the food selection form. Usually, I will wait for the guests to choose their meals slowly, but since my wedding is driven by Twilio, it means I can keep track with minimal effort.

The data needs to match two spreadsheets on the visitor's name and update the guest's food selection status when there is a match. This requires some extra work, but once you rearrange the code, I can run the script on demand in batches and finally get the status of my guests via SMS: food.py

Now, with a list of confirmed guests and an increasing number of food-selection lists, it is meaningful to make these statistics public through major applications. All you need to do is grab the contents of the relevant cell and then reply with a text message: hello_guest.py

It is very convenient for wedding caterers to understand our progress and provide actionable data for those who do not have the choice. Tracking guests is another automation option. Simply traverse through the list of participants, find naughty guests who don't have a choice of dining options, and send them a message! chase.py

The big day is quicker than we thought. The only thing that needs to be done is to send the last text message, remind the guest of the basic details, and remind them to take an umbrella in case of a typical summer rainy season in the UK:

Summarize

Weddings are never a simple thing, and it can make you feel like a lot of things are not under your control. Automation clearly makes my life easier by providing direct access to our guests, as well as countless different ways in which I can track, push and poke their responses. It helps us become active in the time-consuming aspects of the wedding notoriety, allowing us to be free to focus on other important areas of the big day.

Building scalable solutions for complex problems has never been easy, and even in its final form, my application is sometimes fragile. I have planned to build a more complete solution with progress data visualization, voice base and less reliance on CLI scripting, but time is more important. Overall, I'm happy with how it works. No communication system is perfect. You need to achieve the right channel for your audience, whether it's text messaging, voice, chat, video, or semaphores.

What can python do?

Web development and crawler are more suitable for the 0 foundation

Automated operation and maintenance development and automated testing are suitable for those who are already doing operations and testing

Big Data data analysis This aspect is very need professional professional of relatively strong

Scientific calculations are generally used by researchers

Machine learning and AI first degree requirements high next high number requirements high difficulty is very big

I have a public number, and I often share some of the stuff about Python technology. If you like my share, you can use the search "Python language learning" to follow

Welcome to join thousands of people to exchange questions and answers skirt: 699+749+852


What's the ideal wedding in your heart? Don't worry! Python helps you to complete your romantic journey!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.