This is a code challenge for Woovi, a company that provides payment solutions. The challenge consists of creating a GraphQL API that allows users to create and manage transactions. The project is hosted on Railway, uses MongoDB as the database, Redis as event queue, and Jest for testing.
The API should support the following features:
- Create an account
- Transfer money between accounts
- Refresh the (readonly) balance of an account
- Withdraw money from an account
You can import the postman.json to your Postman to test the API. The base URL
is https://woovi-code-challenge-production.up.railway.app/graphql.
To get a local copy up and running follow these simple example steps.
-
Node.js
https://nodejs.org/en/download/
-
PNPM
npm install pnpm -g
-
Docker
https://www.docker.com/get-started/
Clone the repo
git clone https://github.com/matheuslanduci/woovi-code-challenge.git- Install packages
pnpm install- Run the container(or stop it, if necessary):
pnpm compose:up- Setup Configuration
pnpm config:local- Run the Project
pnpm dev