just-another-online-store

Just Another Online Store (Built with Laravel)

Stars
1

Just Another Online Store

Description

The Just Another Online Store is a web application where users place orders to buy products.

  • Home page - will display a welcome message and some images
  • About Page - will display info about the online store and developers
  • Products page - will display the available products information. In addition, you can click on a specific product and see its information.
  • Cart Page - will display the products added to the cart and the total price to be paid. In addition, a user can remove products from the cart and make purchases
  • Login page - will display a form to allow users to log in to the application
  • Register Page - will display a form to allow users to sign up for accounts
  • My orders page - will display the orders placed by the logged in user
  • Admin Panel - will contain sections to manage the stores products (create, update, delete, and list them)

Technologies

The Online store will be implemented with Laravel (PHP), MySQL database, Bootstrap (a CSS framework), and Blade(a Laravel templating engine)

Below is a class diagram illustrating the application scope and design.

We have a User class with its data (id, name, email, password, etc.) which can place Orders. Each Order is composed of one or more items that are related to a single Product. Each Product will have its corresponding data (id, name, description, image, etc.)

User Story

  • As a user, I want to be able to view the products available in the store so that I can select some to purchase.
  • As a user, I want to be able to view the details of a product so that I can know more about it.
  • As a user, I want to be able to add products to a shopping cart so that I can purchase them later.
  • As a user, I want to be able to remove products from the shopping cart so that I can change my mind.
  • As a user, I want to be able to purchase products in the shopping cart so that I can have them.
  • As a user, I want to be able to view my orders so that I can track them.
  • As a user, I want to be able to register for an account so that I can have a personal profile.
  • As a user, I want to be able to log in to the application so that I can access my account.
  • As a user, I want to be able to log out of the application so that I can make sure no one will access my account.
  • As an admin, I want to be able to add products to the store so that users can purchase them.
  • As an admin, I want to be able to update products in the store so that users can have updated information.
  • As an admin, I want to be able to delete products from the store so that users cant purchase them.
  • As an admin, I want to be able to view all the orders placed by users so that I can track them.
  • As an admin, I want to be able to view all the users registered in the application so that I can track them.

Additional Features

  • Integrate with Google Maps API to display the store location
  • Integrate with Google trends API to display the trending products
  • Integrate with openAI API to generate product descriptions
  • Integrate with Stripe API to process payments
  • PHP Code Sniffer is used to keep clean coding standards

Table of Contents (Optional)

If your README is long, add a table of contents to make it easy for users to find what they need.

Usage

Credits

  • AJ Javadi

License


Features

  • CRUD
  • MVC
  • Laravel
  • Laravel UI with bootstrap
  • Eloquent ORM (used to talk to the database)
  • user authentification
  • middleware
  • allow users to add products and upload images
  • Admin panel that allows only registered admins to edit all of the products on the site
  • MySQL
  • curl (used to download images from unsplash)

Tests

  • PHP Code Sniffer

Deployment

![Heroku] (https://secure-thicket-93616-081173c34e9f.herokuapp.com/)

Demo

  • will attach a video displaying the features