Start your shopping experience with us : https://smartestmart.herokuapp.com
- Ruby version 2.4.2
- Rails version 5.1.4
- jQuery
- QuaggaJS
- Bootstrap
- Devise
- stripe
- has_scope
- Action mailer
- Fork the repo and run
bundle install
- Initialise your database by running
rails db:create
rails db:migrate
- To start your server, run
rails s
and open localhost:3000 on your web browser
- User
- Stock
- Shoppinglist
- Item
- Category
We used Heroku to deploy our application.
The app allows a user to search and shop for items by scanning an item's barcode with a computer's camera. The scanning function also allows the administrator to quickly add a stock in the database. Key words can also be searched through the search bar.
Users are also able to quickly browse items through categories.
Multiple shopping lists can also be created for different occasions to suit various shopping needs. These lists can be reused for similar occasions in the future.
A user can also view their past purchases by looking into their transaction history.
- Getting a compatible barcode scanner. We solved it by researching for a rails compatible scanner and testing on a separate project file before including it into rails. The camera also persisted through the app, this was later fixed by rendering JS on one page.
- We needed to track paid history and thought to add another model. However, we decided to include another column in our shopping list model, a solution that met our requirements.
- Instead of having just one cart for payment purposes, we allowed each shopping list to be checked out and paid.
- Guest could not create and check out shopping list so we decided to scale down and directed guests to register/login before shopping.
- To allow guest(s) to make purchases without registering as a user
- Extend and optimise the same functionalities to a mobile phone
- Increase the precision of the camera barcode
- Include more filtering options (i.e by price range, brand and recipes)
- To scale up by adding another model to store our transaction history
- Tham Jieying
- Gabriel Lu
- Persis Ngan