An application for creating a catalog of restaurants.
I wanted to develop Eatalog because I like tracking what restaurants I want to visit when I travel. Below is a screenshot of how I track restaurants in Google Sheets and was the inpsiration for my application.
As a user, I want to be able to:
- Create an account so I can make a list of restaurants
- Sign in to my account
- Change my account password
- Sign out of my account
- Create a restaurant entry so I can track what restaurants I want to dine at
- Edit restaurant entries so I can keep it up-to-date
- Delete restaurant entries so it no longer appears in my restaurant list
Tentative timetable:
- Create user stories and wireframes (~2 hours)
- Create database table design (~2 hours)
- Create API backend in Rails (1 day)
- Create front end/client using Ember framework and evaluate progress (limit to 1 day)
- Continue using Ember or switch to browser-template (3 days)
My initial design included three resources - User, Restaurant, City. I wanted to allow users to create Cities and within each City they would add Restaurants. Upon review with the consultants they advised to keep it simple and start with two resources (User and Restaurant) and add the third resource if time permits. I'm glad I took their recommendation because I knew a major challenge would be using the Ember framework. I allocated myself one day to try Ember knowing that I could switch to the browser-template instead. My first day developing in Ember I was able to successfully complete three of the four CRUD actions but was faced with a roadblock when trying to perform an update. By the end of my first day using Ember I decided to switch to browser-template and build the CRUD actions there before revisiting Ember, by then it was more for practice as I did not intend to deploy the Ember client.
- HTML
- CSS
- jQuery
- AJAX
- JavaScript
- Handlebars.js
- Bootstrap
Below is a screenshot of the Eatalog application. Note the Dine Date field can accept any dates including future dates as I use it not only to mark when I dined at a restaurant but also when I plan to.
Update modal - when a user makes changes to fields in the Update modal and closes the modal by clicking on the 'x' instead of submitting the updates, when the modal is reopened the changes previously made are still present. The changes are not committed to the database and doesn't cause issues but is a poor user experience.
- Install with 'npm install'.
- Start with 'grunt serve'.