USSD service
Go to file
Mohammed Sohail 66b5843b0d feat: dockerfile and github based CI build for Africastalking variant (#174)
## Summary

* fixed missing error handler in main
* add injectable build string in main
* add (dynamically linked) docker build
* add github CI workflow
* add extra but useful dev files in dev folder

* closes #93

## Notes

* We'll move to a self-hosted CI runner once it is installed on Gitea.

Reviewed-on: #174
Co-authored-by: Mohammed Sohail <sohailsameja@gmail.com>
Co-committed-by: Mohammed Sohail <sohailsameja@gmail.com>
2024-11-19 15:15:24 +01:00
.github/workflows feat: dockerfile and github based CI build for Africastalking variant (#174) 2024-11-19 15:15:24 +01:00
cmd feat: dockerfile and github based CI build for Africastalking variant (#174) 2024-11-19 15:15:24 +01:00
common updated the test 2024-11-16 14:52:24 +03:00
config use a single bearer token 2024-11-15 18:35:49 +03:00
dev feat: dockerfile and github based CI build for Africastalking variant (#174) 2024-11-19 15:15:24 +01:00
devtools/admin wrap in devtools/admin 2024-11-01 16:44:54 +03:00
initializers rename file 2024-10-19 13:41:19 +03:00
internal update test 2024-11-18 17:30:34 +03:00
menutraversal_test updated the failed test 2024-11-19 10:15:34 +03:00
models set the TokenDecimals as int to match the API response 2024-11-15 20:50:07 +03:00
remote add a struct to access the tokenDetails 2024-11-15 21:03:29 +03:00
services/registration check community and my balance separately 2024-11-18 17:30:09 +03:00
.dockerignore feat: dockerfile and github based CI build for Africastalking variant (#174) 2024-11-19 15:15:24 +01:00
.env.example use a single bearer token 2024-11-15 18:35:49 +03:00
.gitignore ignore .log files 2024-11-07 16:41:38 +03:00
Dockerfile feat: dockerfile and github based CI build for Africastalking variant (#174) 2024-11-19 15:15:24 +01:00
go.mod get the ussd-data-service package 2024-10-30 18:21:49 +03:00
go.sum get the ussd-data-service package 2024-10-30 18:21:49 +03:00
LICENSE init: project 2024-08-12 14:30:13 +08:00
Makefile init: project 2024-08-12 14:30:13 +08:00
README.md updated README 2024-11-08 20:35:17 +03:00
sample_tokens.json define importable token list 2024-10-08 13:41:09 +03:00

URDT USSD service

This is a USSD service built using the go-vise engine.

Prerequisites

1. go-vise

Set up go-vise by cloning the repository into a separate directory. The main upstream repository is hosted at: https://git.defalsify.org/vise.git

git clone https://git.defalsify.org/vise.git

Setup

  1. Clone the ussd repo in its own directory

    git clone https://git.grassecon.net/urdt/ussd.git
    
  2. Navigate to the project directory.

  3. Enter the services/registration subfolder:

    cd services/registration
    
  4. make the .bin files from the .vis files

    make VISE_PATH=/var/path/to/your/go-vise -B
    
  5. Return to the project root (cd ../..)

  6. Run the USSD menu

    go run cmd/main.go -session-id=0712345678
    

Running the different binaries

  1. CLI:

    go run cmd/main.go -session-id=0712345678
    
  2. Africastalking:

    go run cmd/africastalking/main.go
    
  3. Async:

    go run cmd/async/main.go
    
  4. Http:

    go run cmd/http/main.go
    

Flags

Below are the supported flags:

  1. -session-id:

    Specifies the session ID. (CLI only).

    Default: 075xx2123.

    Example:

    go run cmd/main.go -session-id=0712345678
    
  2. -d:

    Enables engine debug output.

    Default: false.

    Example:

    go run cmd/main.go -session-id=0712345678 -d
    
  3. -db:

    Specifies the database type.

    Default: gdbm.

    Example:

    go run cmd/main.go -session-id=0712345678 -d -db=postgres
    

    Note: If using -db=postgres, ensure PostgreSQL is running with the connection details specified in your .env file.

License

AGPL-3.0.