Little Discount Shop is a fictitious e-commerce platform where merchants and admins can track sales, manage inventory, and fulfill customer invoices. This project was created in two parts over the course of two weeks. Extensions added later include general authentication for users, Google OAuth2 login, authorization, and the server-side API. The backend and API were created using Ruby on Rails, and the frontend was styled with the help of Bootstrap.
Click here to read about the Little Discount Shop API
Click here to view the deployed application
Note: You may need to wait a minute for the server to spin up and display the page. :)
Goals
API Endpoints
Full Project Requirements
Database Schema
Screenshots
Tech Stach
- Use MVC, REST principles, and TDD to develop organized, clean, maintainable code
- Design normalized database schema and define model relationships
- Implement CRUD functionality for resources
- Utilize advanced routing techniques including namespacing
- Utilize advanced active record techniques to perform complex database queries
- Consume a public API while utilizing POROs as a way to apply OOP principles to organize code
This project also integrates a (mostly) RESTful API for the following resources:
-
Items
- return all items
- return a single item
- return the merchant for a specific item
- search for an item by name, description, or unit price
- search for all items that match a given name, description, unit price, maximum unit price, minimum unit price, or items within a price range
-
Merchants
- return all merchants
- return a single merchant
- return all items for a specific merchant
- search for a merchant by name
- search for all merchants that match a given name
Click Here to View Part 1 of the Project Requirements
Click Here to View Part 2 of the Project Requirements
Documentation page for the Little Discount Shop API. |
---|
![]() |
Google OAuth2 Login |
---|
![]() |
Admin Merchants Index Page: View top-selling merchants, enable or disable merchants in the system. |
---|
![]() |
Merchants Discounts Page: View and manage existing discounts, view upcoming holidays, create a discount for that holiday. |
---|
![]() |
Merchants Invoice Show Page: View an invoice, its data including revenue, and all items on that invoice. |
---|
![]() |
Merchants Items Index Page: View all of a merchant's items, including top-selling items, and items that are ready to ship. |
---|
![]() |
Merchant's Enabled and Disabled Items: click to quickly enable or disable items. Pagination helps break up long lists. |
---|
![]() |