Skip to content

A fictitious online store that lets admins and merchants view sales, track inventory, manage discounts, and fulfill customer invoices.

Notifications You must be signed in to change notification settings

brennacodes/little-discount-shop

Repository files navigation

Little Discount Shop

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. :)

Table of Contents

Goals
API Endpoints
Full Project Requirements
Database Schema
Screenshots
Tech Stach

Goals

  • 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

Little Discount Shop API

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

Project Requirements

Click Here to View Part 1 of the Project Requirements
Click Here to View Part 2 of the Project Requirements

Database Schema

Application Screenshots

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.

Tech Stack

Language & Framework:

Tools:

GitHub Fly.io

Database:

Styling:

Testing:


Public Holiday API:

About

A fictitious online store that lets admins and merchants view sales, track inventory, manage discounts, and fulfill customer invoices.

Topics

Resources

Stars

Watchers

Forks

Languages