Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arojunior/barbecue-orders
Barbecue orders application for companies (React, Redux, Recompose and PHP7 in backend)
https://github.com/arojunior/barbecue-orders
javascript php react redux
Last synced: 11 days ago
JSON representation
Barbecue orders application for companies (React, Redux, Recompose and PHP7 in backend)
- Host: GitHub
- URL: https://github.com/arojunior/barbecue-orders
- Owner: arojunior
- Created: 2017-07-12T00:17:14.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T20:39:24.000Z (almost 2 years ago)
- Last Synced: 2024-10-28T16:52:01.508Z (about 2 months ago)
- Topics: javascript, php, react, redux
- Language: JavaScript
- Homepage:
- Size: 8.18 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Barbecue orders
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/arojunior/barbecue-orders/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/arojunior/barbecue-orders/?branch=master) [![Build Status](https://scrutinizer-ci.com/g/arojunior/barbecue-orders/badges/build.png?b=master)](https://scrutinizer-ci.com/g/arojunior/barbecue-orders/build-status/master)
### Backend Stack
- PHP 7
- Mysql**Dependencies**
- slim/slim
- arojunior/php-orm-pdo### Frontend Stack
- React
- Redux**Dependencies**
- erikras/redux-form
- choko-org/redux-boot
- ramda/ramda
- arojunior/redux-localstoreIt is using `Webpack 2` as module bundler and is `WPA` by default.
# Instalation
### Docker
The easiest way. Clone repository and run:
```sh
docker-compose up -d
```**Client:** http://localhost:3000
**API:** http://localhost:8000### Manual Instalation
To run this application without Docker, you gonna need PHP 7+, Composer and Mysql installed locally.
- 1 - import `/api/database.sql` in you local Mysql
- 2 - go to /api and run `composer install` to install the dependencies
- 3 - change database connection configuration in `/api/src/Models/App.php`
- 4 - then you can run the API going to `/api/public` with `php -S localhost:8000`
- 5 - go to `/client/build` and run the Client with `php -S localhost:3000`# Requeriments
### Login
- [x] User should log in with e-mail and password
- [x] All form fields are required
- [x] It should show a warning if user try to send the form empty### New account
- [x] Everyone can create an account
- [x] All form fields are required
- [x] It should validate duplicated e-mails### Menu
- [x] The menu should be shared with all authenticated pages### Pages
- [x] Authentication is not required to Login and New account page
- [x] Authentication is required to Dashboard, New company, New order, My orders and My account page### Dashboard
- [x] User should land in `Dashboard` page after Login
- [x] Companies list should has a link in quantity column to go to orders page### New company
- [x] Users can create one or more companies. If they got no companies, they can't create orders
- [x] The form should verify if ENI (a.k.a CNPJ in Brazil) is valid. All fields are required### New order
- [x] Users should select one company to create an order, after that they can select the product and quantity### My orders
- [x] Users can view orders information and cancel an order whenever they want### My account
- [x] User can edit this profile everytime he want
- [x] It should validate duplicated e-mails, as `New account` page