Skip to content

Instantly share code, notes, and snippets.

@irissilvermoon
Forked from ryansobol/final_questionnaire.md
Last active December 18, 2015 08:59
Show Gist options
  • Save irissilvermoon/5758283 to your computer and use it in GitHub Desktop.
Save irissilvermoon/5758283 to your computer and use it in GitHub Desktop.

What's the name of your app?

Wishlist app

What does it do?

The app that allows users to track items they are hoping to receive for various occasions such as birthdays, anniversaries or holidays. Users can invite others to view their wish lists and mark items they have purchased for themselves or others.

What's the GitHub url?

https://github.com/irissilvermoon/Wishlist

What's the production url?

http://wish-list-app.herokuapp.com/

Who was on your team?

just me.

Which covered topics did you leverage?

Some topics we went over I had already done some of, the forms with twitter bootstrap, I use bootswatch which is a layout that uses bootstrap, but not the gem. I had facebook login already implemented, and now it is fully working. Email authentication and authorization was already implemented as well, Devise seems to do well for the purposes of my app so i didn't see the need to change that. The biggest topic I levereged was the use of javascript. During the middle part of class I took some several weeks to learn javascript and then jQuery for use in my own app and was able to implement a lot of that towards the end. I had also already deployed my app to heroku, but continued updates to the app improved my ability to troubleshoot problems that came up with deployment.

Which feature(s) are you most proud of?

Probably the purchases feature, it was a pretty in depth feature, which required ruby, html, css, javascript w/jQuery and ajax. Whilit seems like a relatively small piece of the app, for me it was more of a culmination of many of the things I've learned over the last several months.

How did you ensure your code is correct?

I used tests, both high level capybara testing as well as smaller unit tests to ensure the code worked. In addition to that I use the app and have sent it off to be used by others as well. Beyond that I try to use good ruby practices regarding white space, small methods, and readable code.

What challenges, technical and/or non-technical, did you overcome?

The two biggest challanges I had over this course was learning Javascript and jQuery and usernames. Javascript and jQuery because it was an entirely new language, only my second language I've learned to date so that was a huge thing to overcome. I by no means think I am an expert, but I know slightly more than I did before the class started and enough to make a few things move around the page!

the second challenge, the usernames didn't seem like it would be an issue at first. Overcoming this was a lesson in what happens when you have a piece of your app that interacts with just about every part of the app. To date most of the pieces of my app have been relatively contained. This was a huge part, where I had to figure out how to add usernames to users already in the system, be able to allow users to invite people and generate a username based on that invitation that also doesn't mess with users who lose their passwords (which for awhile also generated a new username along with the new password).

What would you have liked to add given more time?

given more time I would probably add the notification system I had been wanting to add as well as allow for reordering of wishlists and items by dragging and dropping them. Additionally most of the information still needs to be added by hand and it would still be nice for users to just be able to enter a url

What would you do differently?

while I don't know if i would have done much differently with my process this quarter, I think the process from start to finish of creating this app could have been more streamlined. Changing layout and adding features which should have been in place from the beggining was more tme consuming than if they'd been added in the beginning of creating this app. Usernames is a good example. it would have been better to include that from the beginning than changing to allowing usernames part way through development. While I do utilize sketches and notes before building a feature, doing so is a learning process and I definitely could have been more thorough.

How does the final version of your app compare to your initial vision?

I was able to add a lot of features I had originally wanted to my app. I feel its more user friendly and I am happier with the layout over all.

I added profiles to users along with usernames. When a user signs up with or is invited a profile is automatically included in their sign up. If they have been invited the user will automatically be given a unique username generated from the first part of their email address. User profiles now include ability to invite new users, view who is watching their lists and who's lists they have permission to watch.

error with previous facebook logins fixed, you can now login and sign up via facebook (turned out I just had sandbox mode on)

users can delete users that they have invited to watch them and stop watching those they have been given permission to watch

Users can mark items as purchased, only users who have purchased an item can undo a purchase.

added pagination

redid layout. While I didn't get to use the foundation gem for this, what i did do was choose a different bootswatch theme and create a grid of wish lists and items myself and changed the styling on several buttons.

if a user enters a url for an item rather than having to go back and edit the item to choose an image, a window will automatically pop up and allow the user to choose an image. Each time the user changes the url they can also change the image or if they click on the image box they can choose a new image that way as well.

overall its really looking a lot more like what I initially had planned for it aside from the features I wasn't able to get to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment