Skip to content

hmd37/financial-transactions

Repository files navigation

Python Recruitment Test


User Management

This module should handle user registration, authentication, and profile management.

Endpoints

User Registration

Request:

POST /api/register

Request Body Example:

{
    "username": "john_doe",
    "email": "[email protected]",
    "password": "securepassword123"
}

Response Example:

{
    "message": "User registered successfully",
    "user_id": 1
}

User Login

Request:

POST /api/login

Request Body Example:

{
    "email": "[email protected]",
    "password": "securepassword123"
}

Response Example:

{
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "token_type": "bearer"
}

Get User Profile

Request:

GET /api/profile
Authorization: Bearer <JWT Token>

Response Example:

{
    "user_id": 1,
    "username": "john_doe",
    "email": "[email protected]",
    "created_at": "2025-03-12T08:30:00"
}

Financial Transactions

This module should handle secure transactions, balance management, and transaction history.

Endpoints

Create a Transaction

Request:

POST /api/transactions
Authorization: Bearer <JWT Token>

Request Body Example:

{
    "amount": 100.50,
    "currency": "USD",
    "transaction_type": "deposit",
    "recipient_id": 2
}

Response Example:

{
    "transaction_id": 42,
    "status": "success"
}

Get Transaction History

Request:

GET /api/transactions
Authorization: Bearer <JWT Token>

Response Example:

[
    {
        "transaction_id": 42,
        "amount": 100.50,
        "currency": "USD",
        "transaction_type": "deposit",
        "recipient_id": 2,
        "timestamp": "2025-03-12T10:15:30"
    },
    {
        "transaction_id": 43,
        "amount": -50.00,
        "currency": "USD",
        "transaction_type": "withdrawal",
        "recipient_id": null,
        "timestamp": "2025-03-12T11:00:00"
    }
]

Get User Balance

Request:

GET /api/balance
Authorization: Bearer <JWT Token>

Response Example:

{
    "user_id": 1,
    "balance": 250.75,
    "currency": "USD"
}

About

fastapi, uvicorn, pydantic, uv, alembic, sqlmodel

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published