Coder Social home page Coder Social logo

little-shop-7's Introduction

LittleEstyShop

Welcome to LittleEstyShop! This project is a web application that serves as a platform for merchants to manage their items and invoices. It also provides admins with tools to monitor merchant performance and handle invoices. The application consumes the Unsplash API to display images, including the app logo, item images, merchant images, and random photos on the merchant's dashboard.

Work Completed

The project implements various features for merchants and admins, as well as API consumption for images. Here is a summary of the work completed:

Table of Contents

Merchant Dashboard

Displays the name of the merchant. Provides links to the merchant's item index and invoice index pages. Shows the top 5 customers with the most successful transactions and the number of transactions for each customer. Lists items ready to ship, displaying item names, corresponding invoice IDs, and links to invoice show pages. Orders items by the date of creation in the "Items Ready to Ship" section.

Merchant Items

Shows a list of the merchant's items and restricts visibility to items owned by the merchant. Displays item details (name, description, and current selling price) on the item show page. Allows merchants to update item information and shows a flash message upon successful update. Enables merchants to disable or enable their items. Groups items by status (enabled or disabled). Allows merchants to create new items with a default status of disabled. Lists the top 5 most popular items based on total revenue, with links to the item show page and total revenue for each item. Displays the top selling date for each of the 5 most popular items.

Merchant Invoices

Displays invoices that include at least one of the merchant's items. Shows invoice details, including ID, status, created date, and customer's first and last name. Lists items on the invoice with item name, quantity, price, and item status. Shows the total revenue generated from all items on the invoice. Allows merchants to update the status of invoice items.

Admin Dashboard

Shows a header indicating that the user is on the admin dashboard. Provides links to the admin merchants index and admin invoices index. Lists the top 5 customers based on the number of successful transactions. Displays invoices with items that have not yet been shipped, sorted by creation date.

Admin Merchants

Lists all merchants in the system. Allows admins to view merchant details on the merchant show page. Enables admins to update merchant information. Allows admins to enable or disable merchants. Groups merchants by status (enabled or disabled). Allows admins to create new merchants with a default status of disabled. Lists the top 5 merchants based on total revenue, with links to the merchant show page and total revenue for each merchant. Displays the top selling date for each of the 5 top-earning merchants.

Admin Invoices

Lists all invoices in the system, linking each ID to the admin invoice show page. Shows invoice details, including ID, status, created date, and customer's first and last name. Lists items on the invoice with item name, quantity, price, and item status. Displays the total revenue generated from the invoice. Allows admins to update the status of invoices.

API Consumption

Uses the Unsplash API to display a logo image at the top of every page. Fetches images related to item names on the Merchant Item Show page. Shows random photos near the name of the Merchant on the Merchant's Dashboard, with the image refreshing on each page refresh. Displays the number of likes for the app logo image. Potential Contributions and Refactoring

While the current implementation covers the specified features, there is always room for improvement and contributions from the community. Here are some potential areas for future contributions and refactoring:

Enhance the user interface and user experience for both merchants and admins.

Additional Features: Add more features such as advanced search, item categories, or shipping tracking for merchants.

Testing: More sad path testing.By exploring various exceptional and error-prone situations, we can identify vulnerabilities, corner cases, and potential points of failure. This will help us uncover potential issues, ensuring a stable and reliable application in real-world usage.

Code Refactoring: Improve code organization, readability, and maintainability for better long-term scalability.

Error Handling: Implement robust error handling and feedback mechanisms for a better user experience.

Performance Optimization: Optimize database queries and API requests to improve application performance.

Accessibility: Ensure the application meets accessibility standards for all users.

Links for this project

Project's render site: Little Shop of Horrors

Diagram site: Miro Board

Group DTR: DTR

This project's team members

Artemy Gibson

Christopher Cullinane

Paul Bennett

Bradley Milton

Return to top

little-shop-7's People

Contributors

algibson1 avatar topher-nullset avatar brad2412 avatar pcbennett108 avatar cjsim89 avatar mikedao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.