Full stack web app for the Doggie Oasis in Texas
JavaScript CSS HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bower_components/ngcart
controllers
models
public
.gitignore
README.md
npm-debug.log
package.json
server.js

README.md

doggieOasis

Overview

This project is a Full-Stack (MEAN) application created for the Doggie Oasis, a pet shop, groomer, and dog daycare facility located in Texas.

One of the primary features that I implemented in this project was the ability for the store owner to modify elements on the front end without any programming experience. I made this process very simple for the end-user allowing simple plain-text entry into the form elements. This was achieved using update and post operations to the data that was stored on the back end. As a result, the store, welcome message, daycare packages, spa packages, and contact information are able to be modified by the store owner when logged in to the website.

The biggest challenge with this project was implementing the product ratings. I was able to store the ratings in a separate database collection while having the item that was rated store a reference to the rating document's objectID. This allowed me to populating the corresponding ratings and then be able to perform the required mathematical operations to calculate the average for each product.

Lessons Learned

One of my objectives for this project was to spend extra time and careful attention to planning and designing the back end. I did this by drawing wireframes and block diagrams of the flow control. However, I decided to separate tasks by building out the entire back end and then jumping to the front end to wire everything together. This was a bit problematic since it made some of the backend work unneccessary as objectives were achieved in ways that differed from the original plan. In the future I will prevent this from happening by building out entire features from front end to back-end before moving on. This will ensure that any challenges will be addressed immediately to optimize efficieny.

Screenshots

Landing page as a normal user
Landing page as admin. Admin can customize welcome message
Store as a normal user
Store as admin
Edit product
Shopping Cart
DB Collections

Libraries/Frameworks/Resources Used

AngularJS
Angular Routes
Firebase
FontAwesome
jQuery
Mandrill (contact form)
MaterializeCSS
MongoDB
Mongoose
ngCart
NodeJS