An open PHP store platform. Focused in small businesses 💰 🛒
The main goal of phpay is to set patterns to be easily implemented on a web store. We want to make easy to quick start a PHP ambient with the basic resources every store need. Check out the patterns we defined this document bellow.
Table of contents
Step by step to get this up and running
git clone https://github.com/stanleygomes/phpay.git && cd phpay
First, copy enviroment variables for your application
cp .env.template .envThen, start containers (this command will start database and run migrations)
docker-compose upVerify if the containers are up and running
docker container lsNow, access the webserver container
docker container exec -it phpay-webserver /bin/bash
At this point, your are connected to webserver container. Install composer dependencies
composer installAfter this step is finished, you can exit the container:
exitSince you are back to your terminal, you may need to change some folder permissions
sudo chmod -R 0775 bootstrap storage vendorFinally, go to: http://localhost:8000 to see your app online
We recomend use of VS Code and PHP Intelephense extension.
- Mercado Pago API: https://github.com/mercadopago/dx-php
- Pagseguro API: https://github.com/pagseguro/pagseguro-php-sdk
- [TODO] PagarMe API: https://github.com/pagarme/pagarme-php
- [TODO] NFe PHP: https://github.com/nfephp-org/sped-nfe
To file a new a feature
- create a branch from
masterbranch. Use the pattern:feature/description - file a pull request on
masterbranch - since your PR is aproved, it will be merged to
masterbranch - in a moment in time we'll create a release, using the pattern:
release/vX.X.X
These are some of patterns definitions to help us to keep a default arquitecture.
- Package manager: composer, sure
- PHP version: v7.3.x
- PHP Framework: Laravel 6.x framework
- Database ORM: Use Eloquent
- Migrations: Run on a container described in docker-compose file: boxfuse/flyway image
- Localization: take a look here
- Date and time: carbon
- Test: PHP Unity
- Logs: Laravel logging
- SMTP email: Send emails using Laravel mail and blade templates with mustache
- Docker compose and dockerfile attached running migrations e starting database and nodejs
Some of the features covered
- Products & Categories
- Featured
- Product Wishlist
- Multiple addresses per account
- Store config
- Payment methods available config
- Product questions and answers
- Order online using a customer account and selecting and address
- Pay online using a gateway (Mercado pago or Pagseguro)
- Order review
- Custom pages like about, refund, policies and delivering
- Product stock history
- Dashboard page for resume
- Admin and colaborator profile with different access levels