API for managing users and transfers, developed for PicPay's challenge.
The API allows for the management of users and transfers. Below are described the main functionalities available, as well as instructions for setup and usage.
- github.com/jackc/pgx/v5 - PostgreSQL database driver for Go.
- github.com/joho/godotenv - Loads environment variables from a .env file.
- go.uber.org/zap - Fast, structured logging for Go.
- github.com/gin-gonic/gin - Fast, and concurrency way to make a api.
For a full list of dependencies, please refer to the go.mod file.
-
Description: Creates a new user with the provided information.
-
Method:
POST
-
Endpoint:
/api/v1/user
-
Request Body:
{ "email": "pedro@xx.com", "password": "senha123!F", "first_name": "Pedro", "last_name": "Silva", "is_merchant": false, "document": "1234567220", "balance": 200.00 }
- Description: Find a user with the provided id.
- Method:
GET
- Endpoint:
/api/v1/user/{id}
- Description: Find a user with the provided email.
- Method:
GET
- Endpoint:
/api/v1/user/find_user_by_email/{email}
- Description: Find a user with the provided document.
- Method:
GET
- Endpoint:
/api/v1/user/find_user_by_document/{document}
-
Description: Update a user with the provided ID.
-
Method:
PUT
-
Endpoint:
/api/v1/user/{id}
-
Request Body:
{ "first_name": "Pedro", "last_name": "Silva", "is_merchant": false, "balance": 200.00 }
- Description: Delete a user with the provided id.
- Method:
DELETE
- Endpoint:
/api/v1/user/{id}
-
Description: Creates a new order with the provided information.
-
Method:
POST
-
Endpoint:
/api/v1/order
-
Request Body:
{ "amount": 1000.00, "payee": "d260ff06-5369-4269-8d54-91bbf42fd26a", "payer": "103cdecf-6e1c-4ec9-9e54-2dc6a4f185f8" }
- Description: Find a order with the provided id.
- Method:
GET
- Endpoint:
/api/v1/order/{id}
The API is deployed and accessible at picpay-golang.onrender.com.