MealPro

Very Nice…

Can you assign a meal plan to an individual user?

Cheers!

1 Like

The planner creates meal plans, which all members can see once published. The members can modify the plan as they see fit, but the concept of developing a plan for a specific user has not been requested yet. Easy enough to do though.

1 Like

Cool. My thinking was for personal wellness coaches and Nutritionists etc… who apply menu plans to a particular users/client. Its a massively growing market, but I am sure it will evolve as the market catches on.

Nice work though and I am sure the knowledge will help enhance your future courses :stuck_out_tongue_winking_eye:

@mebeingken, am I right that you’ve so far created a web app but not yet a mobile one? I’d be very keen to get an insight into the process for creating the mobile versions (Android and iOS).

1 Like

@sitestreet Sounds like a great subject for a training course :thinking:

4 Likes

I love this result. As a designer myself, I can tell this is a great job in terms of design and aesthetics. This is the best design I’ve seen so far made in Wappler. The backend is another story I can’t talk much about.

I am a Wappler lover!!!

2 Likes

Couldn't agree more! :clap: @mebeingken

It is this type of feedback, which I hear often, that confirms my belief that a designer and a developer are mutually exclusive—one person cannot be both. And before somebody gets hurt, I also believe there are exceptions to rules.

I built MealPro, but the client hired a designer for the design.

It takes one mindset to choose colors, fonts, layout, etc and the complete opposite mindset to put it into a functioning application.

Thanks for noticing! :grinning:

6 Likes

And it takes a developer to admit to that.

2 Likes

I must agree, I can hardly draw a stick man, but when I get designs created for me by professional designers, and I develop around their specs, the results are always amazing.
The one big difference in my mind sadly, is that it is possible for a designer to learn how to develop, especially with tools like Wappler, however no matter that I have been receiving designs from first class designers for the last 25 years, when I design something myself it never looks great. Personally I think you either have an eye for design or you don't, so design, in my opinion is less of a learnable attribute than development to a degree, or of course, it could just be me, lol.

2 Likes

:grinning:

Hi @mebeingken what a beautiful app brother! I created a test account and it’s really fast, clean, beautiful, easy to navigate, your app is awesome!

1 Like

@mebeingken

Has this web app been updated within the last quarter of 2022?

How can I purchase this app?

Development has been ongoing since its initial release and we typically push to production every few weeks. We are also updating the white label mobile apps, but with a bit slower cadence.

From looking at the website you referred to Mobile App in development.
Did that ever happen?

Yes. MealPro is a white label service, and we have produced half a dozen versions of the mobile app and published to apple and android stores using a single code base. It does not have admin function of the web app, but includes everything else, plus the ability to accept in app payments for subscriptions to the app. For a couple clients it has pulled in thousands of additional paying users.

2 Likes

Very cool! I have a friend who does corporate cooking events. Have passed the link on to her as this could be great for her to generate more passive income!

3 Likes

I just stumbled across the post and the product. No matter how it is done, it looks very nice planned and executed! Kudos to product manager and -developer.

3 Likes

@mebeingken Hey Ken, I noticed you're using magic links.
Could you provide some pointers on how you recommend to implement this?

We're using Wappler's auth system (nodejs) and want to implement the same.

Sure. This describes the process for security providers that are not using the Use Password Hash Verify option but rather are hashing manually.

Generating the link is:

  • Validate there is a valid account for the requested username, return an error if not
  • Generate a unique token ala UUID -- this is what the user will see
  • Hash the token with salt from the user record in the db
  • Store the hash on the user record in the db along with a timestamp (to expire the link in N minutes)
  • Send an email containing a link that includes the token and username. The path of the link can be a route to an api that includes validation of the link.

On link login:

  • Only run the entire process if the request method is GET ($_SERVER.REQUEST_METHOD=='GET'), because there are services that pre-check links with HEAD. Because the links are single use, this has the effect of invalidating the link during the precheck, and then fails for the user. There may be other prechecks you need to consider, for example I use branch.io links so I have to similarly check the user agent.
  • Lookup the user in db using username contained in link to get the salt and timestamp when token was generated.
  • If link has not expired continue, otherwise redirect to error message
  • Hash the token from the link using same crypto when generated
  • Use standard Security Login action and pass it the username provided along with the generated hash. A match will authenticate the user, a mismatch will error as unauthorized
  • Remove the token and timestamp in the db
  • Continue to whatever might be next for you. For example, maybe the account requires 2FA, or maybe you move to authorization step, now that authentication is complete, etc. Or use a redirect action to simply send them to the dashboard, etc.
5 Likes