IMPORTANT: This project is currently in development and not yet ready for use.
This is an API for OmniRecipes, a platform that provides a wide variety of recipes. Currently it allows to retrieve all recipes and add new recipes.
The data is stored in a MongoDB. The images are stored in an Azure Storage service if run in release mode.
I started this project to get a better understanding of writing and hosting my own backend. Currently the backend is hosted on Azure where my app OmniRecipe-Android connects to it.
- Add new recipes which get stored in a database
- Images get uploaded to Azure Storage
- Retrieve recipes from the database
Outlook
- Edit recipes
- Delete recipes
- .NET Core
- MongoDB
- Azure Storage
- Azure App Service
The webapp is not yet following any architecture pattern. It was created based on different tutorials, gut feeling and Copilot suggestions. I will put more time into this as soon as I get to a point where I have enough understanding of how .NET Core works.
To run the web app locally, you need to have MongoDB installed and running on your machine.
- Clone the repository to your local machine.
- Start your MongoDB server. Create a database and a table to store your recipes. Add your connection String, database name and collection name to
appsettings.jsonfor development. - Store an API key to access your app in the
appsettings.json - Navigate to the project directory and install the necessary dependencies with
dotnet restore. - Build the project with
dotnet build. - Start the server with
dotnet run.
Now, the web app should be running locally on your machine.
For a release version of the app, it needs to have Azure:StorageEndpoint set to the endpoint of your azure storage. This can either be set as environment variable or in your configuration on Azure.
This project is licensed under the terms of the MIT license.