Learning project based on a Digital Innovation One (DIO) challenge.
This project is a learning-focused REST API built with FastAPI, simulating basic banking operations such as account creation and financial transactions (deposits and withdrawals).
The implementation was developed on top of the official Digital Innovation One (DIO) challenge starter repository. The base structure was provided by DIO, and the project was extended, tested, and adapted for learning purposes.
- Account creation and listing
- Financial transactions (deposit and withdrawal)
- Balance validation (prevents negative balances)
- JWT-based authentication
- Asynchronous database operations
- Automatic API documentation with OpenAPI (Swagger)
- Python
- FastAPI
- SQLAlchemy
- Databases
- SQLite
- Alembic
- JWT Authentication
Start the API with:
uvicorn src.main:app --reload
Access:
- API: http://127.0.0.1:8000
- Swagger UI: http://127.0.0.1:8000/docs
This project uses the DIO challenge repository as a starting base.
https://github.com/digitalinnovationone/trilha-python-dio/tree/main/13%20-%20APIs%20Assíncronas%20com%20FastAPI/desafio
The goal is learning and understanding backend architecture, not claiming original system design.
Este projeto é uma API REST com foco educacional, desenvolvida com FastAPI, que simula operações bancárias básicas como criação de contas e transações financeiras (depósitos e saques).
A implementação foi construída a partir do repositório base do desafio da Digital Innovation One (DIO). A estrutura inicial foi fornecida pela DIO, e o projeto foi adaptado, testado e estendido com fins de aprendizado.
- Criação e listagem de contas
- Transações financeiras (depósito e saque)
- Validação de saldo (impede saldo negativo)
- Autenticação com JWT
- Operações assíncronas com banco de dados
- Documentação automática com OpenAPI (Swagger)
- Python
- FastAPI
- SQLAlchemy
- Databases
- SQLite
- Alembic
- Autenticação JWT
Inicie a API com:
uvicorn src.main:app --reload
Acesso:
- API: http://127.0.0.1:8000
- Swagger: http://127.0.0.1:8000/docs
Este projeto utiliza o repositório do desafio da DIO como base inicial.
https://github.com/digitalinnovationone/trilha-python-dio/tree/main/13%20-%20APIs%20Assíncronas%20com%20FastAPI/desafio
O objetivo é aprendizado e prática de desenvolvimento backend.
Projeto desenvolvido exclusivamente para fins de estudo.