Web server exploring different payment and messaging platforms and their security methodology
Demo Server: https://demo-payment-server.duckdns.org
For full setup follow the docs/launch_aws_server.md
guide.
For local setup see the local_setup.md file.
Web server to demo different payment and messaging platforms. Uses the Flask microframework for Python, uWSGI to contain the application, Docker to containerize the project, Let's Encrypt and certbot for free ssl certificates, and Travis CI for continuous integration and testing.
Docker containers for NGINX, PostgreSQL, and the Flask Python application.
Currently shows tests for Stripe
and Twilio
. Plans to add additional tests
for M-Pesa
and Bitpay
.
Uses flask sessions to handle authentication.
requirements.txt
Set of Python requirements listed with version numbers for consistent installs.
Dockerfile
A text document that contains all the commands a user could call on the command line to assemble a Docker image. In this case for the demo_payment docker container.
.travis.yml
YAML configuration file for Travis CI; a Continuous Integration tool.
.gitignore & .dockerignore
Files that indicate what to ignore when using git
and docker
respectively.
/demo_payment
Web server code base.
/prod
Production code install scripts and setup files.
/dev
Development install scripts and setup files.
/tests
Folder for tests.
/docs
Contains server setup and design docs.
/log
Folder for log files.
- Docker Docs
- Flask Docs
- Travis CI Docs
- NGINX Docs
- PostgreSQL docs
- Portier Docs
- Stripe API
- Bitpay API
- M-Pesa
- EC2 Documentation
- Could use EC2 API for auto setup in the future