Initially since the website was supposed to be due last week, I finished adding all major components I wanted by then. This week, I mostly fixed a bunch of bugs that Rahul helpfully pointed out. I had made some edits and images were not being uploaded because I had an extra ‘/’ in front of the directory path. Thankfully that was an easy fix. Everything else was also a few simple fixes and then some testing to make sure it all works well. I am very proud of my site, and all functionality is listed in the last blog post. This week I worked on fixing some bugs, doing cleanup, and making everything look nice. Enjoy!
So this week, I mostly did some clean up. It seems like Rahul is having trouble logging in to my website, however I have tested all cases he had issues with on my computer and others, as well on multiple browsers, and I am not seeing the issue. I made some final changes by adding a Get Inspired page so that users can look at some flickr images of food to get inspired to cook using the flickr API. I also did a lot of code cleanup so that it is much more easily readable. I removed the Tools page because I felt the Get Inspired page was more interesting. This website is very much driven from the database which is one of the main things I wanted to learn how to do on this project. This is my final implementation of the project and below is the functionality I implemented.
1. User can create an account and log in.
2. User can browse recipes and sort by category.
3. User can select a recipe and add it to their list of recipes.
4. User can select one of their recipes and add the ingredients to the grocery list.
5. User can save a grocery list.
6. User can email grocery list to themselves.
7. User can upload new recipes.
8. User can view the xml file for an RSS feed.
9. User can add one of their saved recipes to a calendar for planning uses.
10. User can log out.
This week I made quite a few changes. I made a few adaptations based on Rahul’s feedback, however I may need to go to office hours in order to fully understand what he meant by some of it. This week I added functionality so that a user can upload a recipe themselves. I still need to move the images folder above the web root to make it safer, however I will do that when I do my final clean up. Next, I added functionality for a calendar and so that a user can add one of the recipes they have saved to the calendar for a specific day. I do not have functionality to delete these, however I do not know if I will have time. My next goal is to implement an API for more use. I am thinking I will do something so that a user can find more recipes, but I haven’t chosen the specific API yet. I did look up a few options that are all suitable for my uses.
Update: The issue Rahul found with my login not working properly is now fixed. It was an issue specific to iPage and I contacted their support for help. It had to do with the PHP version and path. It should be working now.
This week I have a made a bunch of small updates.
To begin, I made changes based on Rahul’s feedback. I found an error in my login which should now be fixed. I also hid all of my sql queries from the user. I need to go through all of my code and comment/clean it up but I will focus on that later in the week.
Next, the user can sort by specific categories in the all recipes and my recipes sections. When the user sees a list of recipes, they can click on the title of the recipe to view it by itself. If the user is in the all recipes section, they will be given the option to add it to their recipes. If the user is in the my recipes section, they will be given the option to add the ingredients to the grocery list. For some reason, the bbq chicken pizza ingredients are not being added but pancakes and smoothie both work. I will keep looking into this bug to find the cause.
Additionally, I have added functionality to the grocery list. The user can now email the list to someone or save it. When it is saved the list will be there next time they view it.
Lastly, I added RSS feed functionality. After Lennon’s talk on Tuesday, it was very easy to fill it out. I have added a link to the xml file from the home page. Also I have removed the need to log in to view the all recipes page, so that users with an RSS feed can view the recipes. The user will be given the option to log in from that page as well and will only see the save to my recipes option if they are logged in.
Next week, I plan to focus on either getting a calendar set up or adding the ability to upload recipes.
This week I spent a lot of time formatting things and getting the user login/logout working so that someone cannot navigate to the main pages without first logging in. Initially I tried using global variables but that didn’t work so I had to use the database instead. I know I still have a few more changes to make with it, but hopefully I can get that done tomorrow in class.
I also spent quite a bit of time getting recipes to display from the database and setting it up so that hopefully soon users will be able to save recipes to their recipes as well as use the categories to sort them. I wasn’t sure how to set a variable so I can query with it when a user clicks on the menu category. I am still looking into it and believe I am close.
It feels like I haven’t added very much this week, but I spent a lot of time on these little things and making sure they work. Hopefully next week I will have a few big things I can do and the website will start shaping up a lot more.
Update: I got the login working how I originally wanted to, it turned out I was using = instead of == in an if statement and that changed everything. It’s funny yet annoying how little things like that occur. I also got some help in class on Friday getting the category selected in the menu sent into a query to return the category associated with the selection from the menu in the All Recipes page. So now if a user selects Breakfast, they will get only foods categorized as breakfast.
So I started my final project, got all my pages and css set up and I am liking how it looks. I have added jQuery UI and have an expanding menu which I like. I had quite a bit of trouble setting up the php header function that redirects to another page on localhost but eventually I found the issue in my permissions and fixed it. Once I uploaded my code to iPage, the server will no longer let me access phpMyAdmin to edit the databases so it works. So I am going to wait a few hours and try again to see if I can add the tables I need. If it doesn’t work then, I will probably contact iPage and see if they can fix the issue.
So far my website is very basic and I spent quite a bit of time laying it out how I want. I created a login and new user registration in order to get to the main site. I need to add some verification to make sure the user is logged in and otherwise restrict those main pages, but that will hopefully come next week, I didn’t want to complicate too much before I got it working right. So in theory right now a user can bypass the login by directly typing in the url. Also I have a grocery list text boxes, however they do not do anything yet. I am just using them for layout and will soon hook them up to the database and actually send an email of the text inside.
Hopefully next week I will have plenty of time to do a lot more expansions and add more content. I hope to add more to the login and new user pages so that they tell a little about the website and I hope to get the recipes up and running from the database. This week I also set up all of my databases so far so it will be easier in the future.
Background My client is also me. I need a place to store recipes, find new recipes, log what I have cooked, and create a grocery list. I would also like one place I could use to find common substitutions for foods and measurement conversions. It would also be nice to have some way to review the recipes collected.
UsersThe users who will visit the website will be everyday people who like to cook and need a place to organize their recipes and find new ones. I believe the users will be people like me who like to cook and need a specific grocery list and would like a place to log what they are cooking.
- find new recipes (from RSS feed and other users)
- store/organize recipes
- review recipes
- log what they have cooked/will cook
- create grocery list
- send grocery list
- measurement conversions
- find substitutions
- find/add to helpful cooking tips
- find new recipes from RSS feed
- store and organize recipes in an online cookbook
- review/rate recipes
- calendar of what users have made or will make
- a place to create a grocery list
- a way to email the grocery list
- measurement conversions
- links to helpful cooking tips
- find substitutions for an ingredient in a dictionary of common substitutions
- a way to add tips to the helpful ones
- a way to import recipes to your grocery list by clicking on specific ingredients
- mobile friendly
- find recipes from other users based on reviews
- recipes for cooking
- measurement conversions
- cooking tips
- a calendar for adding meals
- RSS feed for finding recipes
- Images of food
- Form for user registration
- Form for adding recipes and uploading recipe files
- I will link to other cooking sites and helpful tips on how to cook
Above is the initial outline for my final project. I am not sure if it will end up being too little or too much but I think it is adaptable so that I can add or remove things if necessary. My main concern is having enough room on the database to store all the recipes and users, however I think I can use this as a proof of concept and just limit the amount of data I upload. Please feel free to give me any feedback!