jmbott / demo-payment-server

Web server exploring different payment platforms and their security methodology
1 stars 0 forks source link

demo-payment-server

Web server exploring different payment and messaging platforms and their security methodology

Build Status

Demo Server: https://demo-payment-server.duckdns.org

Setup

For full setup follow the docs/launch_aws_server.md guide.

For local setup see the local_setup.md file.

Overview

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.

References