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 .env
Then, start containers (this command will start database and run migrations)
docker-compose up
Verify if the containers are up and running
docker container ls
Now, 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 install
After this step is finished, you can exit the container:
exit
Since you are back to your terminal, you may need to change some folder permissions
sudo chmod -R 0775 bootstrap storage vendor
Finally, 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
master
branch. Use the pattern:feature/description
- file a pull request on
master
branch - since your PR is aproved, it will be merged to
master
branch - 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