Needs advice
on
DjangoDjangoGolangGolang
and
ReactReact

I am a project manager, and we are looking to develop a food tracking delivery service for both mobile and web app.

Which stack do you recommend for food delivery service using Google Maps for tracking the orders and drivers.

Thank you.

READ LESS
3 upvotes·17.4K views
Replies (1)
Technical Lead at HubSpot·

This is a pretty loaded question that can really depend on a number of other various factors. Before jumping into what stack to use, you need to determine and figure out a few more things.

  • What is your timeline?
  • How many people are on you're team and what's their current knowledge on certain languages/frameworks you're investigating (need to account for a potential ramp up period)
  • On the mobile side, do you want to maintain one codebase for ios/android? Or do you want to write separate implementations for both OS'?
  • What's the architecture look like? Are you shooting for an all-in-one monolith or separating out the business logic into smaller services?
  • Are you taking orders? If you are, are you planning on taking them and processing them on-demand? As in if you have 1-n number of orders coming in, are you going do all the business logic that sends that order to a restaurant, store, etc on one request? Or do you plan on queuing them async?
  • Do you plan on sending SMS, Email, Push notifications, etc? How are you planning on sending one or more of them for a single order, while maintaining an acceptable latency per request?
  • How to do you plan on processing events? As in: Order is place, order is ready, order is picked up, order is in route, order is delivered.

I could go over many other what-ifs here. Without much more detail here. I would say some of your first steps are in the realm of determining:

  • What does success look like with this app? As in, what features need to made, what are nice-to-haves, etc. (this will help guide you in the next part)

  • What does the architecture look like here? How is data going flow, does a monolith or service-oriented design make sense?

  • The previous point will lead you down the road of determining what other supporting software you will need such as: A queuing service (SQS, Redis, etc.), async messaging (Kafka, Kinesis, etc.).

  • Does this app require heavier computations that will require threading, etc.

  • What's the delivery time on this? Do you need a higher level language that provides a lot of abstractions or a framework that doesn't require you to write a lot of things from scratch (this comes with tradeoffs though)?

  • On the mobile/ web app side, do you need need the mobile app to do interact with the hardware a lot? Or can you get away with react native and write kotlin/java or switch where/if needed? Do you want to write completely separate business logic for both mobile and web, or would using React Web/Native make sense where you can reuse a lot of the business logic.

I know I didn't directly answer your question, but there are many things to consider here. Try answering the above questions, make a plan, determine trade-offs, and evaluate your team's knowledge. This will enable you to start breaking down your questions into more digestible parts.

READ MORE
2 upvotes·215 views
Avatar of Mehrzad Ghanaatpisheh Sanaei