How To Build A Vegetarian / Vegan Restaurant Locator App

Compassion towards animals, health considerations, and environmental concerns have prompted many people to turn vegetarian or vegan.

Given the specialized nature of the diet, they need help to find out restaurants serving vegetarian or vegan foods.  Statistics show that they are increasingly turning to apps for this.

Consequently, many entrepreneurs are tapping into this market. If you are planning to launch such an app, then this guide on how to build a vegetarian restaurant locator app is for you!

Contents

The market for vegan restaurant locator apps
An example of a vegan restaurant locator app
How to create a vegan restaurant locator app
Have a great vegan restaurant locator app idea?

The market for vegan restaurant locator apps

Download Our Project Specification Template

The number of vegetarian and vegan people are growing. An April 2019 BBC report shows that Great Britain has 1,864,000 vegetarians and vegans. This includes 542,000 dietary vegans and 360,000 lifestyle vegans.

Vegan restaurant locator apps fall within the “Travel & Local” category of apps, which is increasingly popular. The following statistics illustrate this:

Download Our Project Specification Template

Read How We Helped a Marketing Company to Build a Back-Office Custom Ads Dashboard

    • As of June 2018, this was the 4th most popular category among Android apps, as one Statista report
    • The corresponding category in iOS is “Travel”, and as of May 2019, this was the 12th most popular category among iOS apps. Read “Most popular Apple App Store categories in May 2019, by share of available apps” to learn more about this.
    • An example of a vegan restaurant locator app

      HappyCow is a great example of a vegan restaurant locator app. It offers the following features:

          • Users can find vegan restaurants nearby.
          • The app has a map integration.
          • Businesses can list themselves in this app.
          • There are photos and reviews.
          • The app also shows vegan hotels, resorts, and B&Bs.
          • Another section in this app lists vegan-friendly cities.
          • Users can access useful contents about vegan airline meals, vegan hotels, etc.
          • App users can share content on social media.
          • The app offers in-app purchases.

      HappyCow has web, Android, and iOS apps. The “User Interface” is easy-to-use, and their mobile apps have had over 1 million downloads. You can find more examples of apps that help vegans in “Here are the 9 best phone apps for vegans”.

      How to create a vegan restaurant locator app

      The following steps are involved in a software development project to build a vegan restaurant locator app:

      1. Agree on the project methodology

      A vegan restaurant locator app is a web and mobile app, and these are “Systems of Engagement” (SoEs), i.e., customer-facing tools. You launch a “Minimum Viable Product” (MVP) and enhance it based on the market feedback. As I have earlier explained in “Waterfall vs agile: which methodology is right for your project”, agile is the right methodology here.

      2. Project scope definition

      Following is the project scope I recommend:

          • Build a web app, an Android app, and an iOS app.
          • Include the following features:
            • Search for vegan restaurants;
            • Map integration;
            • The ability for businesses to list themselves on the app;
            • In-app purchases;
            • Push notifications;
            • Online payment.
          • Target one geography to start with.

      3. Decide on a development approach

      I recommend that you adopt the following approach:

          • Use a “Platform as a Service” (PaaS) for the web app, and a “Mobile Backend as a Service” (MBaaS) for the mobile app backend;
          • Utilize “Integrated Development Environments” (IDEs) and testing automation frameworks to expedite the project.
          • Use “Software Development Kits” (SDKs) and “Application Programming Interfaces” (APIs) to implement the core features such as vegan restaurant locator, map integration, in-app purchase, online payment, etc.
          • Design and develop in a manner that helps in future expansion into other geographies. There are several best practices falling within the ambit of “app internationalization”, e.g., keeping the code separate from the content. Read more such guidelines in “The ultimate guide to mobile app internationalization”.

      4. Onboard a project team

      I suggest that you use the “scrum” technique for this project, where the project manager, working as the “scrum master”, builds small, cross-functional teams. These teams work on “sprints’, i.e., iterations. Your scrum team needs the following technical roles:

          • Business analysts (BAs);
          • UI designers;
          • Web developers with Node.js skill;
          • Android developers with Kotlin experience;
          • iOS developers with expertise in Swift;

      Read more about scrum teams and the technique in “How to build a scrum development team?”.

      5. Sign-up for a PaaS account

      PaaS providers enable you to focus on web app development, freeing you up from IT infrastructure management. I recommend you use AWS Elastic Beanstalk, i.e., the PaaS offering from AWS. You can get the following advantages:

          • AWS Elastic beanstalk manages the cloud infrastructure, networking, operating system, middleware, and runtime environment. You can concentrate on coding.
          • You can easily integrate databases and 3rd party APIs in your app.
          • AWS Elastic Beanstalk has excellent DevOps, “Application Performance Monitoring” (APM), and auto-scaling solutions.

      6. Get an MBaaS account

      You can use your existing AWS account and sign-up for AWS Amplify, which is the MBaaS offering from AWS. This offers you the following advantages:

          • AWS Amplify handles the cloud infrastructure, persistent storage, etc., therefore, you don’t need to manage the mobile backend.
          • It’s easy to implement user management, security features, and push notifications.
          • Using an MBaaS simplifies the complexity arising from the multitude of mobile platforms and devices.
          • Scaling the app, and integrating 3rd party APIs are easier with an MBaaS.

      7. Use Node.js for web app development

      I recommend Node.js for web app development since it offers the following advantages:

          • This JavaScript-based open-source runtime environment is good for coding scalable web apps.
          • You will need to list vegan restaurants, therefore, you will need to use a NoSQL database like MongoDB. MongoDB uses JavaScript, and Node.js developers can easily use it.
          • There are thousands of open-source, shared tools and frameworks for Node.js, which improved the productivity of a developer.

      I have earlier explained the advantages of using Node.js in “10 great tools for Node.Js software development”.

      8. Use Kotlin for Android development

      Kotlin is the modern language of choice for Android development, and I recommend that you use it. Advantages of doing so are many, e.g.:

          • The concise syntax helps programmers to code less, yet achieve their objectives.
          • Kotlin is quite like Java, and Java developers find it easy to use.
          • Kotlin libraries are lightweight, making the apps coded in it fast.
          • Developers can use its powerful features to avoid common coding errors like null pointer exception.

      Read “Kotlin vs Java: which is the best choice?” to learn more about these advantages.

      9. Use Swift for iOS development

      I recommend that you use Swift for iOS development since it offers the following advantages:

          • Apps coded in Swift are fast and performant.
          • An English-like language, Swift offers high readability, therefore, apps have better maintainability.
          • Swift has powerful features that enable bug-free coding and reduce the coding effort.

      You can read more about the advantages of using Swift, in “How to migrate your Objective-C project to Swift?”.

      10. Install the required IDEs

      You need the following IDEs in this project:

      11. Get an API for vegan restaurant data

      Your app needs to display vegan restaurants, and Veganbase offers a solution for this. They have an open API, offering the following advantages:

          • App users can search for vegan venues, shops, and services across several geographies.
          • The app can display vegan products and their availability information.
          • Users can see reviews for vegan products.

      Read more about this API in “Vegan API — data for all”.

      12. Use a CRM API to conduct businesses with vegan restaurants

      In addition to using the Veganbase API, you will need to enable vegan restaurants to list themselves in your app. You will need to use relational databases like MySQL and NoSQL databases like MongoDB for that.

      You will also likely conduct business activities with these restaurants, according to your business model. A CRM suite is important for this, and I recommend that you use Zoho CRM API. You can access their API documentation here.

      13. Procure a mapping API

      A vegan restaurant location app needs mapping integration, and I recommend that you use Google Maps. Note the following:

      14. Get an eCommerce solution

      You need an eCommerce solution for the in-app purchase feature, and I recommend that you use the APIs from BigCommerce. They have the necessary eCommerce features like cart, check-out, search, etc., and you can read about their API here. Check out their pricing plan here.

      15. Find a payment gateway API

      The app needs to offer online payment, therefore, I recommend that you use the APIs and SDKs from Stripe. Check out the following resources:

      You can find their pricing plan here.

      16. Sign-up for a bulk SMS solution

      You should sign-up for a bulk SMS solution, to engage your users. Twilio has the right solution for this, and you can use their “Programmable SMS” offering. Check out their documentation here, and here. Their pricing plan is available here.

      17. Get appropriate tools to extend your test framework

      You will need the ability to test the web and mobile apps with a wide range of browsers and mobile devices. Experitest has the required solutions for this, as follows:

      18. Code, test, and deploy the web app

      You need to take the following steps for web app development:

          • Code the app using the Eclipse IDE.
          • Integrate Veganbase, Zoho CRM, Google Maps, BigCommerce, Stripe, and Twilio APIs.
          • Use databases on AWS Elastic Beanstalk, by following this guide.
          • Test, and deploy the Node.js app. You can read “Deploying Node.js applications to AWS Elastic Beanstalk” if you need additional guidance.

      19. The mobile app UI design

      A great UI is an absolute essential for a mobile app, therefore, focus on the following:

      20. Android app development

      Now, you need to take the following steps for the Android app development:

          • Code using Kotlin and Android Studio. You can read “Get started with Kotlin on Android” for guidance.
          • Integrate the vegan restaurant locator, CRM, map, eCommerce, payment gateway, and bulk SMS SDKs and APIs into your app.
          • Test using Expresso, and Experitest mobile device lab on the cloud.
          • Publish the app to Google Play, by following these instructions.

      21. iOS app development

      The following steps are involved in iOS app development:

          • You need to code using Swift and Xcode.
          • Integrate Veganbase, Zoho CRM, Google Maps, BigCommerce, Stripe, and Twilio SDKs/APIs into your code.
          • Test using XCTest, and the mobile device lab on the cloud from Experitest.
          • Publish your iOS app to Apple App store, by consulting this guide.

      22. Manage the project using an appropriate PM tool

      A scrum team works as follows:

          • A “product owner” provides the requirements in a document called the “product backlog”.
          • The team estimates, and based on priorities indicated by the business stakeholders, slot them into sprints. This happens in “sprint planning meetings”.
          • The scrum master conducts “daily stand-up meetings” to collect the project status and resolve issues.
          • The team demonstrates the app to the business stakeholders in a “sprint review meeting”, and obtains their sign-off.

      I recommend that you manage these activities using Trello, a robust tool to manage agile projects.

      Have a great vegan restaurant locator app idea?

      I have described the necessary approaches, guidelines, tools, platforms, SDKs/APIs, and frameworks to develop a vegan restaurant locator app. However, these kind of projects tend to be complex, and you might want to get professional help. Our guide “How to find the best software development company?” can help you to identify the right development partner for such projects.