https://github.com/reinaldoper/fast-api
Project using fastAPI.
https://github.com/reinaldoper/fast-api
alembic docker-compose fastapi postgresql python sqlalchemy
Last synced: 2 months ago
JSON representation
Project using fastAPI.
- Host: GitHub
- URL: https://github.com/reinaldoper/fast-api
- Owner: reinaldoper
- Created: 2024-04-28T16:44:14.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-03T06:53:52.000Z (about 2 years ago)
- Last Synced: 2025-02-05T16:19:14.638Z (over 1 year ago)
- Topics: alembic, docker-compose, fastapi, postgresql, python, sqlalchemy
- Language: Python
- Homepage:
- Size: 49.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Models
## Este repositório contém a definição dos seguintes modelos SQLAlchemy:
- **Todos os comando necessários estão dentro do arquivo Makefile, usando a diretiva "make "**
- Cria virtual env:
```shell
python -m venv .venv
```
- Ativa virtual env:
```shell
source .venv/bin/activate
```
- Desativa virtual env:
```shell
deactivate
```
- Instalar todas as dependencias:
```shell
make install
```
- Sobe o docker-compose:
```shell
make docker
```
- Cria as migrations:
```shell
make create-migrations
```
- Roda as migrations:
```shell
make run-migrations
```
- Sobe o servidor:
```shell
make run
```
- Documentação da aplicação:
- [fastAPIServer](http://127.0.0.1:8000/docs)
## AtletaModel
### Tabela: atletas
- Campos:
- pk_id: Chave primária, inteiro.
- nome: Nome do atleta, string com no máximo 50 caracteres, obrigatório.
- cpf: CPF do atleta, string com 11 caracteres, único e obrigatório.
- idade: Idade do atleta, inteiro, obrigatório.
- peso: Peso do atleta, float, obrigatório.
- altura: Altura do atleta, float, obrigatório.
- sexo: Sexo do atleta, string com 1 caractere, obrigatório.
- created_at: Data e hora de criação do registro, obrigatório.
- categoria: Relacionamento com o modelo CategoriaModel.
- categoria_id: Chave estrangeira referenciando a tabela categorias.
- centro_treinamento: Relacionamento com o modelo CentroTreinamentoModel.
- centro_treinamento_id: Chave estrangeira referenciando a tabela centros_treinamento.
## CategoriaModel
### Tabela: categorias
- Campos:
- pk_id: Chave primária, inteiro.
- nome: Nome da categoria, string com no máximo 10 caracteres, único e obrigatório.
- atleta: Relacionamento com o modelo AtletaModel.
- created_at: Data e hora de criação do registro, obrigatório.
## CentroTreinamentoModel
### Tabela: centros_treinamento
- Campos:
- pk_id: Chave primária, inteiro.
- nome: Nome do centro de treinamento, string com no máximo 10 caracteres, único e obrigatório.
- endereco: Endereço do centro de treinamento, string com no máximo 60 caracteres, obrigatório.
- proprietario: Nome do proprietário do centro de treinamento, string com no máximo 30 caracteres, obrigatório.
- atleta: Relacionamento com o modelo AtletaModel.
- created_at: Data e hora de criação do registro, obrigatório.