Location and purpose
Bookclub is an app meant to promote reading in high school students, at an age when they can benefit academically and form healthy intellectual habits. By emphasizing the social aspect of reading, we hope encourage a social support network for these behaviors.
http://web.mit.edu.ezproxy.canberra.edu.au/cmannino/Public/BookclubFinal/Bookclub/login.html
...
- Our visual and aesthetic design was the target of much criticism; while last design excluded any outside libraries other than jQuery, we chose to use Bootstrap to implement an aesthetic and consistent design. We chose to use Bootstrap over other visual libraries because of its widespread support and flexible design.
- We needed to implement the backend functionality to our code. At the recommendation of our TZ Katrina, we chose to implement our backend using the Parse javascript library. Although we ran into a few issues regarding the database, in the end, it worked out to be an extremely flexible and convenient library. The documentation for the JavaScript version also contained a few mistakes; although it mentioned specifically that developers needn't resave variables when updating a Parse Object, we found that updating a only one field had the side effect of deleting other fields. In order to remedy this, we reset variables that showed this symptom.
- At the recommendation of our testers, we changed our Recommendation interface to allow logged in users to recommend books to several friends at once.
- The organization of our Friends page also received a lot of criticism, in particular in the way we had chosen to separate search results from one's current friend list. In order to remedy this, we placed to clearly visible buttons on the Friends List page, that allow the user to show all friends, all students on the network, or to view the results of his search query.
- The "Browse by Letter" functionality of our Book Search was also deemed superfluous, given the search bar. Our tests showed that most users thought the Browse by Letter bar only encroached on valuable screen space, so we disposed of itreplaced it with an alphabetized, scrollable list, and instead allowed our autocomplete search bar to take the place of the old browse-by-letter functionality.
Contributions
Given the number of changes we needed to make, our group decided to divide the workload both between front-end and back-end implementations. We worked together closely on this project, helping each other debug. However Although the following are rough categories, Hannah and Elizabeth generally worked on backend, while Paula and Carlo worked on the frontend. However, we collaborated very closely throughout, so that although we all participated at all levels of development, we can separate our accomplishments roughly as follows:
- Hannah: Wrote initial friends list and add/remove friend functionality, worked on ratings and recommendations with Elizabeth. Set up Parse backend for project to use along with Elizabeth, and helped create a dynamic friends search page to avoid static pages.
- Elizabeth: Wrote book pages and reading list functionality, worked on implemented ratings and recommendations with Hannah. Set up Parse backend for project to use along with Hannah, and helped make dynamic profiles to avoid using static pages.
- Carlo: I was focused on the frontend. I designed the homepageCarlo: Design of Homepage, page layouts and display for user profiles, including choosing and displaying profile pictures.as well as the icons. I spent the bulk of my time on implementing changeable profile pictures and permissions for doing so; I also focused on displaying profile pictures on every page. I also dabbled in the backend by updating user profile pictures in the database.
- Paula: For the front end, I customized our bootstrap, maintained the navbar across pages, and standardized the html and css across pages. I modularized friends list page by separating the logged in user's friends from all friends, as well as implementing a search function that displays only search results in order to minimize screen clutter. On the back end, I implemented book search functionality. I also worked on updating books and friends recordsPaula: Navbar, friends page layout, book search functionality.