/GreenApron

Xamarin mobile app with ASP.NET Core back-end for meal planning and home inventory management

Primary LanguageC#

Green Apron

CI by Visual Studio Team Services

A mobile-first, comprehensive meal planner, grocery list and pantry inventory system. Search thousands of recipes (provided by Spoonacular). Bookmark your favorites, or add recipes to a meal plan and let Green Apron manage a grocery list for you. Purchased products are automatically added to your inventory, so you always have a digital representation of what's in the pantry!

Distribution

Android

A signed APK is available for Android versions 4.03 and above at this link.

Please note, to allow installation from non-marketplace sources, a user must enable the "Unknown sources" setting on a device before attempting to install an application. The setting for this may be found under Settings > Security.

iOS

Coming soon...

In the meantime, if you have Spoonacular API access, you can deploy Green Apron to your iOS device from Visual Studio or xCode.

Screenshots

Generated with MockuPhone

Search thousands of recipes View plans by date and meal Green Apron manages your grocery list Green Apron manages your pantry too Quick controls available for updating either list

Technologies

  • C#
  • Xamarin and Xamarin.Forms
  • ASP.NET Core Web API
  • Entity Framework, LINQ
  • xUnit
  • CI via Visual Studio Team Services
  • Hosted on Azure

Development

  • Open the solution file in Visual Studio and allow the Nuget packages to restore
  • Host the WebAPI project as desired, a base url is required for the next step
  • Create a Keys class in GreenApron/Factories using the GreenApron namespace with the following values:
    • public static string WebAPI: url for the WebAPI service
    • public static string SpoonURI: url for Spoonacular API service
    • public static string SpoonKey: API token for Spoonacular API service
  • To run, set your desired Startup Project in Visual Studio and press play

Green Apron's style guide is available here via Frontify.