1. Briefly describe your system (e.g. A store selling Pokemon game cards) My system is a store called “My Farmer’s Market”. It sells various fruits, vegetables, and animal produced products. The fruits that are offered are boxes of pears, apples, lemons, oranges, bananas, and limes. The vegetables that we sell include boxes of lettuce, tomatoes, celery, carrots, cucumbers, and onions. The animal produced products we have are jugs of honey, 3-pack cartons of milk, a wheel of goat cheese, boxes of margarine, boxes of sheep wool, and cases of eggs. The name “My Farmer’s Market” came from the idea that these items are locally produced and freshly grown or produced!
More detail on the instructions for Asiignment 3 is provdided in the link below:
2. Any notable shortcomings, bugs, problems, or additional features not implemented?
For this project there were so many requirements, it was hard to keep track of and to execute them all. One of the requirements I was not able to implement was that the user should be able to see the number of items in their cart at all times.
3. Describe what you are most proud of about your system:
I am most proud of the way the overall system looks and flows. I think the navigation bar and user personalization enhances the user experience and helps it to look like something you would see on a real website. A user can log in at any point, but if the user tries to make a purchase- they need to be signed into their account in order to complete the purchase. Once a user logs in, only then will they be able to see a log out button with the user’s name or edit account button on the navbar, and finally the home page message will change from “Welcome to Your Farmer’s Market” to “Welcome to (user’s name)’s Farmers Market”.
4. Describe what you are least happy with your system:
Something I would like to improve within my system would be instead of having the user input the quantities they want into the cart by overwriting the old data, I think it would have been nicer to have had an add or subtract button for quantities and an “add to cart” and or an “update cart button”. My site uses an “invisible cart”, but this can sometimes be confusing for a user.
5. How was developing this assignment different than assignment #2?
There were many ways in which Assignment 2 differed from Assignment 3. Some of the major differences include using (cookies) and or sessions for your cart, adding more security features, adding personalization to the website, and emailing the user and invoice once a purchase is complete. In this assignemnt, we had an individual requirement that was assigned to us and required to be implemented into the system. My individual requirement was IR1: “Maintain last product page visited by user. When user leaves and comes back to site, they are taken automatically to the last product page visited. After login or register, they return to the last page visited. After checkout, the last page visited becomes the home page.” More detail on the instructions for Asiignment 3 is provdided in the link below:
6. When you ran into a problem, what did you do to address it?
For my individual requirement, I was tasked to complete IR1. The details about the task is listed above. At first, I was stumped on how I was going to do this. In the end, after going to Professor Port for help, I realized that this requiremnt was perfect for me because although the requirement did not require much code, it required me to think about and understand sessions well enough to create a solution.
7. Describe what worked well with this project?
I beleive that the navbar and user personalization was something my website does well.
8. Describe what did not work well with this project?
Something that did not work well with this project was the UI design of the invoice sent to the user after a successful purchase.
9. If you could go back in time and do things differently, what would you do differently?
If I could go back in time, I would have changed the lab example that displays a product page to include an addition and subtraction button as a way to add, remove, and edit cart instead of using update cart as a way to edit, add or remove items in the cart. I would also have put more effort into enhancing the user interface design of the invoice that is sent to the user after a successful purchase.
10. What did you learn from doing this assignment?
The biggest takeaways from this assignment for me would be the ability to implement sessionss, a navigation bar, and how to send an email using javascript. I think these things are very useful to understand when it comes to designing and executing a website shop.
11. Estimate the % of time you spent (a) thinking about how to do something, (b) writing code (but do not include testing, (c) testing and debugging
I spent about 20% thinking about how to do something, 30% writing code, and 50% testing and debugging. It doesn’t take much time to figure out what you want something to do, but it takes a long time for me to figure out how to do in a way that makes sense. That is writing the code for it. Similarly, writing code and not testing it is not much of a problem. Testing and debugging on the other hand takes a significant amount of time. Finding the syntax errors or most troublesome- trying to fix code that’s not doing what you want it to do to get it to do what you want it to do is by far the most time consuming.
10. Assign an estimated percentage on the amount each team member contributed to the assignment (including yourself) and explain briefly your rationale for the percentage breakdown. Be sure to include an overview of what specifically you and your partners contributed (e.g. “I worked on the security and my partner 1 worked on personalization”)
I did not work with a partner for this assignment. I referred to previous labs, secondary websites, and previous projects which were helpful to look at when making decisions in how I wanted my website to work. Professor Port through office hours. Meeting with Professor Port has been extrememly helpful in clearing any questions that I had and guiding me in the right direction.