|  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 frontendIn the project directory, you can run: npm install
`set up configs(API URL, stripe and googlemaps API) in src/Helpers/Url.jsnpm start
Prerequisites for APIInstallation 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 scriptsRunning composer,php artisanorphpunitagainst thephpcontainer with helper scripts in the main directory: containerRunning ./containertakes you inside thepizzeria-apicontainer under user uid(1000) (same with host user) $ ./container
devuser@8cf37a093502:/var/www/html$
 dbRunning ./dbconnects 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>  <h6> Customer clicks to order a pizza </h6>  <h6> Customer proceeds to make payment via stripe </h6>  <h6> Customer payments recorded on stripe </h6>  <h2 id="screenshots">Admin Screenshots</h2> <h6> Admin login page </h6>  <h6> Admin sees all pizza orders </h6>  <h6> Admin fulfils order </h6>  <h6> Fulfilment email sent </h6>  <h6> Admin declines order with reason </h6>  <h6> Declinement email sent with reason </h6>  <h6> Admin adds pizza type with pizza image </h6>  <h6> Admin edits pizza type with pizza image </h6>  |