PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Hillary Kollan   React Laravel Stripe MailJet Pizza Ordering   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: React Laravel Stripe MailJet Pizza Ordering
Web application to process orders of Pizza
Author: By
Last change:
Date: 1 year ago
Size: 3,550 bytes
 

Contents

Class file image Download

Sadat's Pizzeria Service(React/Laravel/Mailjet/Stripe)

A pizza ordering react and laravel app

Features For react front-end

  • Show pizza menu
  • Allows admin to store pizza menu with image upload.
  • Allows admin to edit pizza menu with image upload.
  • Allows customers to order pizza while capturing their location(google maps geocoding), quantity, pizza type, total price.
  • Connects to API to send pizza order fulfilment or cancellation emails via mailgun to customers.
  • Authentication for Admin(login and logout).
  • Connects to API to allow Administrators to fulfil or cancel order with notes and emails via mailgun.
  • Allows users to enter credit/debit card via stripe integration for pizza order payments.

Features For API

  • Endpoint to return pizza menu
  • Endpoint store pizza menu with image upload.
  • Endpoint edit pizza menu
  • Endpoint take location, quantity, pizza type, toatl price as a pizza order
  • Endpoint that takes in pizza order fulfilment or cancellation emails via mailgun to customers.
  • API to Authenticate Admin login and logout
  • Endpoint to allow Administrators to fulfil or cancel order with notes and emails via mailgun.
  • take in credit/debit card payments via stripe integration.

Installation for frontend

In the project directory, you can run:

npm install

`set up configs(API URL, stripe and googlemaps API) in src/Helpers/Url.js

npm start

Prerequisites for API

Installation for API

  • Clone the Repository
  • Set up your .env - Configuring the docker database

Build the images and start the services:

docker-compose build --no-cache pizzeria-api
docker-compose up -d

Helper scripts

Running composer, php artisan or phpunit against the php container with helper scripts in the main directory:

container

Running ./container takes you inside the pizzeria-api container under user uid(1000) (same with host user)

$ ./container
devuser@8cf37a093502:/var/www/html$

db

Running ./db connects to your database container's daemon using mysql client.

$ ./db
mysql>


## Troubleshooting
If you happen to have issues after installing try to

- Install dependencies with composer if the vendor folder doesn't exist or errors related to dependencise are thrown
- Clear config, cache, view and route caches with artisan commands
- Modify permissions for the storage and bootstrap directories

<h2 id="screenshots">Customer Screenshots</h2>

<h6> Customer pizza menu </h6>

![](screenshots/pizza_menu.png)

<h6> Customer clicks to order a pizza </h6>

![](screenshots/pizza_ordering.png)

<h6> Customer proceeds to make payment via stripe </h6>

![](screenshots/stripe_checkout.png)

<h6> Customer payments recorded on stripe </h6>

![](screenshots/stripe.png)

<h2 id="screenshots">Admin Screenshots</h2>

<h6> Admin login page </h6>

![](screenshots/admin_login.png)

<h6> Admin sees all pizza orders </h6>

![](screenshots/pizza_orders.png)

<h6> Admin fulfils order </h6>

![](screenshots/fulfil_pizza_order.png)

<h6> Fulfilment email sent </h6>

![](screenshots/fulfilled_email.png)

<h6> Admin declines order with reason </h6>

![](screenshots/decline_pizza_order.png)

<h6> Declinement email sent with reason </h6>

![](screenshots/decline_email.png)

<h6> Admin adds pizza type with pizza image </h6>

![](screenshots/add_pizza_type.png)

<h6> Admin edits pizza type with pizza image </h6>

![](screenshots/edit_pizza_type.png)