This application provides a framework for integrating with Kenya's government APIs, including eTIMS, eCitizen, and other GavaConnect services.
-
src/: Contains the source code for the application.
- clients/: API client implementations for eTIMS, eCitizen, and GavaConnect.
- interfaces/: TypeScript interfaces defining the structure of data used in API interactions.
- services/: Business logic for handling payments, taxes, and applications.
- utils/: Utility functions for authentication and hashing.
- app.ts: Main entry point of the application.
- index.ts: Module entry point for exporting components.
-
tests/: Contains unit tests for the application.
- clients/: Tests for API client classes.
- services/: Tests for service functions.
-
.env.example: Example environment configuration file.
-
.gitignore: Specifies files and directories to ignore in Git.
-
package.json: npm configuration file.
-
tsconfig.json: TypeScript configuration file.
- Clone the repository.
- Install dependencies using
npm install. - Create a
.envfile based on the.env.examplefile and fill in the required environment variables. - Run the application using
npm start.
- To submit a tax invoice, use the
submitTaxInvoicemethod from the tax service. - To initiate a payment, use the
initiatePaymentmethod from the payment service.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.