Tax Service is an API built with Express, PostgreSQL, and TypeScript. It provides endpoints to manage transactions, calculate tax positions, and amend sales.
- Ingest transactions
- Calculate tax positions
- Amend sales
- Generate test data
The deployed version of the API is available on tax-service-render.com.
-
Clone the repository:
git clone https://github.com/imevanc/tax-service.git cd tax-service
-
Install dependencies:
npm install
-
Set up environment variables:
- Create a .env file in the root directory and add the necessary environment variables.
- See .local.env
-
Build the project:
npm run build
-
Development To start the development server with hot-reloading:
npm run dev
-
Production To start the production server:
npm run start
The project runs on port 3000.
You can use open-swagger-ui to see the Swagger file on port 3355 - http://localhost:3355/swagger-doc .
This project uses Renovate for dependency management.
The database is deployed on render.com and uses PostgreSQL.
The tests run as GitHub Actions.
- To run unit tests locally:
npm run test:unit
- To check TypeScript types:
npm run test:type
- To run tests with coverage:
npm run test:coverage
This project is licensed under the MIT License.