Welcome to the Kwik-E-Mart! This is a fictional e-commerce site that is based on the Kwik-E-Mart, the convience store of the popular cartoon "The Simpsons." Apu has decided to finally expand his business to the internet. The store has the typical features of add and removing items to a cart, users posting reviews for products, and an order history.
I decided to build an e-commerce site because I wanted the experience. There are so many e-commerce sites available, that I felt the knowledge and experience of creating one would help me in my career. I decided to base it off "The Simpsons" for two reasons. First of all, I love "The Simpsons" and wanted to have some fun in creating the store, especially with creating the products. And secondly, I feel the majority of people have some knowledge of "The Simpsons" and that the series has a great catalog of lore that people would have fun browsing the store.
The technologies used in creating this app are:
- AngularJs
- Node.js
- Express
- JavaScript
- MongoDB
- Mongoose
- Heroku
- Token Auth
- HTML5
- CSS3
- Bootstrap
- Materialize
Click on the Heroku link below to go to the web store. Guest users can freely browse, view products, and add to the cart. But in order to checkout, users must register an account. Registered users can also check their order history and cancel any order they want.
[Link to Heroku] (http://kwikemart-online.heroku.com/)
[Link to Trello] (https://trello.com/b/g4CD4UKB/project-4-online-kwik-e-mart)
- Create roles such as an Admin account that can add, edit, and delete products.
- Style the app more to fit more in line with the Simpson's theme.
- Allow users to edit their reviews.
- Allow users to edit each individual item in already placed orders.
- Add Regular Expressions to validate credit cards.
- Add a "wishlist" feature.
- I struggled with combining AngularJs with Node and Express. Understanding when and where to put code on the client side or server side.
- Implementing local storage with the cart system.
- Using Angular binding expressions to display nested values.
- Classifying my products with categories.
- Certain values would only update on a full page refresh.
- Displaying reviewer's name with their review.