aalug / recipe-app-drf-vue Goto Github PK
View Code? Open in Web Editor NEWDjango REST framework and Vue.js recipe app
Django REST framework and Vue.js recipe app
Handle updating the user's profile information. Create another function in the users store, that will send PUT or PATCH requests depending on the fact that all user details are supposed to be updated or not.
Create a function in @/store/users.ts
to retrieve tokens and headers. The function should get the token from local storage and return the headers. This will help to avoid duplicating code and to retrieve the token from local storage and create headers each time a request is made.
Handle getting user's recipes and listing them.
Add Django REST Framework JSON CamelCase
so the API will be able to receive and send data in camel case format. It will ensure that the language style conventions are kept (python snake case, JS/TS camelCase).
Handle registering a new user in form dialog.
Create a login dialog, not the entire page, just the dialog that will appear after clicking the 'login' button.
Add django-cors-headers so the frontend can make requests.
Create 'add to favorites' feature. Users should be albo to add a recipe to favorites and view all recipes that are in that list. This list might be a v-menu
that will pop up after clicking a button in app bar.
Cannot add tags and ingredients while creating a new recipe. The problem might be with the FormData().
Test and create API for images.
Create a register dialog, not the entire page, just the dialog that will appear after clicking the 'register' button.
After creating a recipe, some form fields stay filled and they shouldn't. After clicking on save
button every field in the form should revert back to the original empty state.
Add filtering to the ListRecipes
view. Users should be able to filter by tags and ingredients.
Handle updating recipes. There should be option, in recipe details, to edit it. After clicking on edit user should be redirected the the same form as when creating a new recipe but this time fields should be pre-filled with the recipe's existing details. After submitting the form, program will validate the data the same way as in creaging a recipe but instead of sending POST request, will send PATCH to update the recipe.
Handle cases when the user is not logged in. When that is the case, display the page normally, but do not allow to perform actions that require sending request. So for example. user can see the 'add reci[e form' but cannot submit it.
Fix the error with the cors headers. The way it is set up now, requests cannot be sent every time.
Add the option to choose from existing tags. User should be able to choose from already created tags while creating a new recipe or editing one.
Add feature to show recipe details. After clicking on the button on the recipe card, should pop up a dialog with all details of the given recipe.
After creating a recipe for the second time (and more) in a row, the scrolling up does not work. Each time a recipe is created, the user should see the success alert, but the scroll-up works only one time for a page refresh.
Add option to delete more than one tag and ingredient at a time. Users should be able to choose an option to delete multiple recipe attributes. After choosing that option, a delete
button should show up and from now on clicking on a tag or ingredient should add it to the array. After clicking that delete
button, confirmation dialog should pop up and if the user clicks on ok
all attributes that are in the array should be deleted.
Add sorting to the ListRecipes
view. Users should be able to sort recipes by price, time and title.
In a new branch, add the ChatGPT API to the Vue app. The purpose of this API is to help users find ideas for new dishes and create recipes with ease. It should cover all aspects of recipe creation.
Users should be able to open a dialog in the CreateRecipe view where ChatGPT will assist them. Additionally, there should be a separate page dedicated to conversing with ChatGPT about recipes.
Create a search feature in the recipe list. It should allow users to find recipes by words in the title and description.
Create filtering by recipe attributes (tags and ingredients).
Handle logging in. After making a POST request with the correct credentials, the server will return a token. Store this token in local storage; it will later be used to authenticate the user.
Add an option to clear all tags and ingredients when creating or editing a recipe.
Handle creating a new recipe by making a POST request to the /api/recipe/recipes/
. At the same time, this will handle creating tags and ingredients.
Handle editing and deleting tags and ingredients.
Create a view where all tags and ingredients are displayed. After clicking on one of them, show a dialog that will give the option to update the name of a recipe attribute and to delete it. After choosing delete
, there should pop up a confirmation dialog.
Create ingredient API to be a part of recipe API.
Handle deleting a recipe. There should be a button in the recipe detail;s to do it. After clicking it the confirmation dialog should pop up and depending on the answer, delete the recipe or cancel.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.