How to Build a Beer App
Beer aficionados are increasingly turning to apps to find new varieties of beer, and the bars and pubs that sell them. The market for beer apps is growing, and entrepreneurs are naturally trying to tap into it. If you are also planning to do so, then you ought to read this guide on how to build a beer app.
The market for beer apps
The global beer market is growing, and it will likely reach $685.354 billion by 2025, up from $593 billion in 2017. You can read this “Allied Market Research” report for more information on this market.
Beer apps belong to the “Food & drink” category, and the following statistics illustrate the popularity of it:
- A Statista report shows that this is the 23rd most popular category of Android apps, as of June 2018.
- This is the 9th most popular category among iOS apps, as another Statista report
An example of a beer app
It’s worth reviewing an example of a beer app so that you can understand what you should offer. Untappd is a popular beer app, offering the following features:
- Users can rate beers they drink on a scale of 1 to 5.
- They can discover great beers, breweries, and venues, moreover, they can share them with their friends.
- They can explore different kinds of beers, and earn badges on the app.
- Using a mapping integration, they find out what beers people are drinking in their areas. They can view this at a worldwide-scale too.
- App users can create lists of their favorite beers.
- They also get alerts with pubs or bars add their favorite beers in their lists.
- The app has push notifications to engage users.
Untappd is available as web, Android, and iOS apps, and the “User Interface” (UI) is an engaging one.
How to create a beer app
A software development project to create a beer app involves the following steps:
1. Project scope definition
I recommend you build a beer app with the following features:
- Users can view beers, pubs, and bars in their areas, as well as elsewhere.
- The app should offer social media integration.
- App users should be able to view various kinds of beers, including new entrants.
- They should get alerts when local pubs add their favorite beers to their list.
- The app needs push notifications to engage users.
- You can optionally offer in-app purchase and online payment features.
Build a web app, an iOS app, and an Android app with the above features, to launch in one geography.
2. Use the Agile SDLC
The right SDLC model for this project is agile since you are creating web and mobile apps. You will likely launch a “Minimum Viable Product” (MVP) with the above features, and enhance it in multiple iterations. You can learn more about agile SDLC in “What Is software development life cycle and what you plan for?”.
3. Zero in on a software development approach
I recommend that you use the following approach in this project:
- Use “Software Development Kits” (SDKs) / “Application Programming Interfaces” (APIs) to implement key features like searching for beers and pubs, map integration, push notifications, in-app purchase, and online payment.
- Utilize “Platform as a Service” (PaaS) and “Mobile Backend as a Service” (MBaaS) platform, so that you can focus on development, and not on IT infrastructure management.
- Use “Integrated Development Environments” (IDEs), tools, and frameworks to expedite the development.
- Design and develop keeping in mind that you might expand into other geographies later. Use appropriate “app internationalization” guidelines, such as keeping the code separate from content. You can learn about app internationalization in “The ultimate guide to mobile app internationalization”.
4. Form a “Scrum team”
Use the “Scrum” technique to manage this project, and form small, cross-functional teams where developers and testers work together. The team will work on iterations, which are called “Sprints” in Scrum parlance. You can read more about scrum in “How to build a scrum development team?”.
The team needs the following roles:
- Business analysts;
- UI designers;
- Web developers with Node.js skill;
- Android developers with experience in Kotlin;
- iOS developers with Swift expertise;
- A project manager (PM), who performs the “scrum master” role.
5. Use an API solution to get beer-related information
The app needs to display information regarding beers, breweries, and pubs. You need an API solution for this, and BreweryDB provides one. Their API enables you to implement the following features:
- It provides a comprehensive database for the global beer industry.
- Brewers update this database directly, and your app will reflect the changes.
- The data is crowd-sourced, however, it’s also curated by industry experts. This assures the accuracy of the data.
6. Sign-up for a mapping integration solution
The app needs to let users find nearby breweries and pubs serving their favorite beers. This requires a mapping integration, and I recommend that you use Google Maps. Note the following:
- You can read the extensive Google Maps documentation here.
- For the Android app, you can use the Google Maps Android SDK.
- Google Maps iOS SDK will help with the iOS app development.
Check out the Google Maps pricing information here.
7. Get a bulk SMS solution for the push notifications feature
You would want to engage the app users, therefore, you need the push notifications feature. I suggest that you use a bulk SMS solution for this. Twilio offers a robust solution, which you can use as follows:
- Sign-up for the Twilio “Programmable SMS” offering.
- You can read the relevant Twilio documentation here, moreover, you can also get more guidance here.
Twilio has published its pricing plans here.
8. Find an eCommerce solution for the in-app purchase feature
I recommend that you use an eCommerce solution to implement the in-app purchase feature. Shopify provides such a solution, and you can use it as follows:
Hire expert developers for your next project
1,200 top developers
us over the last 3 years
- Access the Shopify eCommerce API on its developer portal.
- Check out the Shopify API guides here.
- Your development team can use these tutorials if they need additional guidance.
9. Sign-up for a payment gateway API solution
The app needs the online payment feature, therefore, use a payment gateway API solution. Braintree has the right solution for this, and you can use it as follows:
- Sign-up for its “Braintree Direct” solution.
- You can read the documentation for this API solution here.
- Braintree offers guides for its API, and you can find it here.
- Programmers in your team can also check out the Braintree tutorials here.
10. Use a PaaS platform for web app development
As I had earlier explained in “10 top PaaS providers for 2019”, using a PaaS platform makes developing web apps easier, due to the following reasons:
- You can focus on development. PaaS providers manage the cloud infrastructure, networking, storage, operating system, middleware, and runtime environment.
- This means that you don’t need to hire a cloud platform architect.
- PaaS providers let you use database resources, 3rd party APIs, and DevOps tools, and this makes the development easier.
- Cloud PaaS providers offer “Application Performance Monitoring” (APM) and auto-scaling solutions, therefore, you can easily scale the web app.
11. Find an MBaaS platform for the mobile app backend
Using an MBaaS platform offers several advantages while developing a mobile app, as follows:
- MBaaS providers manage cloud infrastructure, persistent storage, etc.
- You don’t need to hire mobile backend developers, moreover, you free yourself up from the time-consuming task of managing the mobile backend.
- Mobile platforms and devices are many, which adds to the complexity while developing mobile apps. You can manage this easily when you use an MBaaS platform.
- You will need to implement user management, security, push notifications, and integration with 3rd party APIs. These are easier if you use an MBaaS platform.
- MBaaS platforms make it easier to scale your mobile apps.
I have explained these advantages in “How to choose the best Mobile Backend as a Service (MBaaS)?”. You can use Kinvey, a well-known MBaaS platform.
12. Install IDEs
You need to use the following IDEs in this project:
- IntelliJ IDEA: You need this, and a Node.js plugin for developing the web app;
- Android Studio: For Android development.
- Xcode: To code the iOS app.
13. Sign-up for a test automation enabler
While open-source testing tools like Selenium and XCTest are helpful, web and mobile app testing require access to a wide range of browsers and mobile devices. The testing team also needs robust test reports and analytics. I recommend that you use the following solutions from Experitest:
- Mobile device and browsers lab on the cloud: You can access a wide range of browsers and devices.
- SeeTest Reporter: This offers very helpful test reports and analytics.
14. Developing the web app
At this point, you need to proceed with developing the web app, as follows:
- Use Node.js on IntelliJ IDEA. Heroku supports this runtime, and you can find the Node.js buildpack here.
- Integrate databases on Heroku, according to your requirement. You can check here for more information.
- Integrate BreweryDB, Google Maps, Shopify, Braintree, and Twilio APIs with your code.
- Test your app, and deploy it on Heroku. You can read “Continuous delivery on Heroku”, and find out how to use DevOps resources on this platform.
- Information about APM and auto-scaling solutions from Heroku are available here, and here, respectively.
15. UI design for the mobile app
You will launch your app in a competitive market, therefore, you need a great UI that appeals to users. It must also be easy to use, therefore, consult the following resources when designing the UI:
- “Human Interface Guidelines” for the iOS app UI design;
- “Material design” guidelines, for the Android app UI design;
- “Mobile navigation menu examples”, to implement a user-friendly mobile navigation menu;
- “8 trends in mobile app color scheme”, to choose the right color scheme;
- “How to design the perfect icon for your mobile app?”, to design icons for the mobile app.
16. Android app development
The next step is to develop the Android app, which involves the following:
- Use Kotlin, which is a popular open-source language for Android development. Coding fast, performant apps is easy with Kotlin, moreover, developers can eliminate common coding errors. The concise syntax of the language helps programmers to achieve higher productivity.
- Code your app using Android Studio, and read “Get started with Kotlin on Android” if you need guidance.
- Integrate the SDKs/APIs for beer database, eCommerce, mapping, payment gateway, and bulk SMS.
- Test using Espresso, and Experitest mobile device lab on the cloud.
- Publish the app to Google Play using this guide.
17. Code, test, and publish the iOS app
You can now proceed with the iOS app development, as follows:
- Use Swift, which is the language preferred by Apple for iOS development. A developer can code fast apps with Swift. The app will have a smaller code base, moreover, the language has powerful features that help in reducing coding errors. Swift is just like English, and this helps in maintaining the app.
- You should use Xcode to code the iOS app, and it supports Swift.
- Integrate BreweryDB, Google Maps, Twilio, Shopify, and Braintree SDKs/APIs in your code.
- Test the app using XCTest, and the Experitest mobile device lab.
At this point, you can publish the iOS app to the Apple App store, however, be sure to read these instructions.
18. Use effective PM tools
Managing an agile project can get tricky, therefore, plan to use robust tools as follows:
- Asana is an effective tool to manage such projects, and I recommend that you use it.
- The PM will also benefit from a real-time dashboard, which helps the PM to implement data-driven processes. I have explained the benefits of using such dashboards in “How a real-time dashboard can revolutionize your eSports development process?”.
Strategizing to launch a great beer app?
In this guide, I have described several platforms, tools, frameworks, SDKs, and APIs, which should ease the development of a beer app. However, creating such an app for a competitive market can be complex. You might need professional help. Read our guide “How to find the best software development company?” before you engage a development company.