For our second project on the Web Development Imersive course we were tasked to build a full-stack RESTful application that included authentication.
As a food fanatic I'm always hunting for new resaturants to try and as everyone's favourite food is pizza I thought I would create a site to guide people around the best (and worst) pizza places in town.
Link to app: https://eat-better-pizza.herokuapp.com/
Eat Better Pizza is a full-stack RESTful app allowing users to sign up, create restaurant reviews and comment on existing ones, all to make sure they are eating the best pizza possible!
When not logged in users can see all the restaurants but can't see the reviews, comment or use the links at the bottom to view all restuaruants reviewed by each contributor.
The main difference being the ability to click on each restaurant and read the review in full, also you can click on the address to be directed to google maps showing the location of the restuarant.
Also clicking on a username at the bottom of a review will direct you to a page showing all other restaurants reviewed by that user.
You can also access your profile whilst logged in, allowing you to edit your profile as well as view all the reviews you have added.
- HTML
- JWT
- Bluebird
- NodeJS
- ExpressJS
- Express-jws
- Mongoose
- SCSS
- EJS
- Bootstrap
This project was 5 days long, I really enjoyed building something that felt like a 'whole' site. Overall I am extremely happy with what I was able to create in that time.
This was the first time we had built a Full-Stack App from scratch. I certainly learnt a lot about the importance of planning before coding and using tools such as a trello board to keep on track.
- Add a google maps API so that I could show the map of the restaurant within my site instead of directing people away.
- Increase the amount of reviews, perhaps by pulling in reviews from elsewhere using a suitable API for instance.
- I would like to add the ability for others to vote on a rating for each restaurant, not just the writer of the review and to display the average rating as well as the main reviewers.