Skip to content

About

Um Game de finanças, que calcula performances da rentabilidade na bolsa de valores dos usuários cadastrados

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

Repository files navigation

Game Finance API

É um jogo que tem como objetivo obter a maior rentabilidade numa carteira virtual, com dados reais da bolsa de valores de São Paulo, a B3. Para Jogar é necessário efetuar o cadastro escolher no máximo cinco papéis listados na bolsa, ganha quem conseguir a maior rentabilidade dentro do período estipulado na rodada.

Os dados dos papéis são reais, e são consumidos a partir do pacote yfinance que utiliza a API pública do Yahoo Finance.

O objetivo do projeto é aprimorar minhas habilidades no Django Rest Framework, especificamente no tratamento de dados de requisições, autorizalções e permissões de usuários.

Building

Esse projeto foi desenvolvido utilizando a versão 3.2.6 do interpretador Python. Todas as dependências estão listadas no arquivo requiments.txt

Como rodar ?

Etapas do projeto

✔️ Definir modelos e relacionamentos

✔️ Implementar lib de acesso aos Dados da bolsa de Valores B3

✔️ implementar autenticação de usuários

❌ implementar permissões de usuários

✔️ Definir view e rota para criar papel

❌ Definir view e rota para editar papel

✔️ Definir view e rota para adicionar papel à carteira

❌ Definir view e rota para editar carteira

❌ Definir view e rota configurar rodada

✔️ Definir view e rota resultado

✔️ Definir view e rota para simular rodada

❌ implementar ordenação de jogadores de acordo com a rentabilidade da carteira

❌ validação de entrada de dados

End points

URI MÉTODO RECURSO
/usuarios GET lista todos usuários
/usuarios POST Cria novo usuário
/usuarios/{ user_id } GET retorna usuário
/usuarios/{ user_id } PUT ou PATCH atualiza usuário
/papel GET lista todos os papéis cadastrados
/papel POST cria um novo papel
/carteira GET lista papéis na carteira do usuário da sessão
/carteira POST adiciona papel na carteira do usuário da sessão
/posicao GET retorna a lista dos jogadares e suas rentabilidades
/calculator POST atualiza papéis adicionados nas carteiras dos jogadores
/logout POST encerra sessão do usuário

atributos dos modelos

User

{ "username": input_username, "first_name": input_first_name, "last_name": input_last_name, "email": input_email, "password": input_password }

Paper

{ "b3_code": input_código_papel, "company_name": "input_nome_da_empresa" }

Wallet

{ "paper": id_papel }

Calculando rentabilidade de período passado

{ "period": "3mo" }

Valid periods: '1d', '5d', '1mo', '3mo', '6mo', '1y', '2y', '5y', '10y', 'ytd', 'max'

Disposições finais

Você pode navegar por essa aplicação, utilizando o próprio browser, inclusive pode acessar django-admin, como super usuário e acessar a base de dados do projeto. Para criar um super usuário execute os seguintes passos, no terminal:

  • execute python manage.py createsuperuser
  • digite um username válido
  • digite uma senha válida
  • confirme a senha digitada

Pronto, após a criação da conta de superusuário, rode a aplicação e acesse a uri /admin, na tela de login você digita o username e as senhas criados para seu superusuário.

About

Um Game de finanças, que calcula performances da rentabilidade na bolsa de valores dos usuários cadastrados

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages