Hackware Web Services

Felix Freeman 5d423a2500 Setup fixes/improvements 2 年之前
bootstrap 8cb57fd1e0 One testing environment to rule them all 5 年之前
config 6bb723527b CORS support 5 年之前
public ea18127941 Initial commit. Core, Wallet, Payment and Seeds. 5 年之前
setup 5d423a2500 Setup fixes/improvements 2 年之前
.editorconfig c6751b68c2 EditorConfig 2 年之前
.env.example 7f61eb8d2d DLocalGo and PayPal env vars on .env 2 年之前
.env.testing 7f61eb8d2d DLocalGo and PayPal env vars on .env 2 年之前
.gitignore 45c63557ce composer collect-public 2 年之前
GPL-3.0-or-later.LICENSE ea18127941 Initial commit. Core, Wallet, Payment and Seeds. 5 年之前
MIT-0.LICENSE ea18127941 Initial commit. Core, Wallet, Payment and Seeds. 5 年之前
README.md 45c63557ce composer collect-public 2 年之前
artisan ea18127941 Initial commit. Core, Wallet, Payment and Seeds. 5 年之前
composer.json 45c63557ce composer collect-public 2 年之前
phpunit.xml.dist 53af4521b9 Code coverage for phpunit tests 5 年之前

README.md

Hackware Web Services

Description

Hackware Web Services or "Hawese" is a modular web API which returns JSON responses.

Its structure is based on Laravel/Lumen 5.8+ packages. It can be mounted as a monolithical web service or as various microservices depeding on how you structure your composer.json.

Features (packages)

  • Core: Lightweight base class for table based models, standardized JSON responses and User model.
  • Wallet: Digital wallet that associates transactions and balance to unique users.
  • Payment: Payment through various payment gateways. Currently Khipu and Flow.

How to pronounce Hawese?

You can pronounce it as "how easy".

Run it

Requirements

Please refer to the requirements of each package. Basically the same as of Lumen/Laravel 5.8+ and composer.

Installation

Manual

  1. git clone https://git.hackware.cl/hawese
  2. Setup your environment variables based on the .env.example file. It will load .env.APP_ENV if you set the APP_ENV environment variable beforehand. Elsewhere it will load the .env file.
  3. Add the desired hawese projects (hackware/hawese-{payment,wallet,seeds}) to composer.json
  4. composer install && composer run collect-public.
  5. Run from the public/ path.

Automated

  1. git clone https://git.hackware.cl/hawese
  2. Run setup/setup.sh on Debian as root, or optionally setup/setup_lxd.sh with the proper environment variables configured (defined on those files).
  3. Manually edit the .env file for missing configurations.
  4. Setup your endpoints through DNS or /etc/hosts.

Find detailed documentation and configuration options in each project.

Tests

If you are developing Hawese run tests with composer test or composer test-coverage.

Add directories for your project tests as testsuite on phpunit.xml.dist and to its whitelist for coverage analysis.

Copyright and licensing

Copyright 2019-2022 Hackware SpA.

This project license defaults to GPL 3.0 or later if you use any of the following projects (since are AGPL licensed):

  • hackware/hawese-wallet
  • hackware/hawese-payment

If you don't use that dependencies in the composer.json file then you can choose to use the MIT-0 license terms.

The core library hackware/hawese-core is released under the terms of the MIT license. Non listed dependencies are released under permisive licenses too.

I will greatly appreaciate your contributions back. Please free your software too.