94 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# URDT USSD service
 | 
						|
 | 
						|

 | 
						|
 | 
						|
This is a USSD service built using the [go-vise](https://github.com/nolash/go-vise) engine.
 | 
						|
 | 
						|
## Prerequisites
 | 
						|
### 1. [go-vise](https://github.com/nolash/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](LICENSE). |