Skip to content

DaviBassani/tabnews_interface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TabNews.py

Uma interface web moderna para o TabNews, desenvolvida em Python usando Flask e consumindo a API oficial do TabNews. Inclui suporte a modo escuro e design responsivo.

Descrição

Este projeto recria a interface do TabNews usando Python e Flask, mantendo um design limpo e minimalista semelhante ao original. A aplicação consome a API oficial do TabNews para exibir conteúdos, perfis de usuários e comentários.

Funcionalidades

  • Tema Claro/Escuro: Suporte completo a modo escuro com detecção automática das preferências do sistema
  • Persistência de Tema: Preferência de tema salva usando localStorage
  • Design Responsivo: Interface adaptável para dispositivos móveis e desktop
  • Minimalismo: Interface limpa e focada no conteúdo, priorizando legibilidade
  • Visualização de Conteúdos: Acesso a publicações recentes e relevantes
  • Conteúdo Detalhado: Visualização de posts individuais com comentários
  • Perfis de Usuário: Acesso a perfis e histórico de publicações
  • Integração Completa: Suporte a todas as funcionalidades da API do TabNews

Requisitos

  • Python 3.8+
  • Flask
  • Requests
  • Conexão com a internet para acessar a API do TabNews

Instalação

  1. Clone o repositório:

    git clone https://github.com/seu-usuario/tabnews-interface.git
    cd tabnews-interface
    
  2. Crie e ative um ambiente virtual:

    # Windows
    python -m venv venv
    .\venv\Scripts\activate
    
    # Linux/macOS
    python -m venv venv
    source venv/bin/activate
    
  3. Instale as dependências:

    pip install -r requirements.txt
    

Uso

  1. Ative o ambiente virtual (caso ainda não esteja ativado):

    # Windows
    .\venv\Scripts\activate
    
    # Linux/macOS
    source venv/bin/activate
    
  2. Execute a aplicação:

    python -m src.app
    
  3. Acesse a interface pelo navegador:

    http://localhost:5000
    

Estrutura do Projeto

tabnews_interface/
├── src/                    # Código-fonte Python
│   ├── app.py              # Aplicação Flask principal
│   └── config.py           # Configurações da aplicação
├── static/                 # Arquivos estáticos
│   └── css/
│       └── style.css       # Estilos CSS
├── templates/              # Templates HTML
│   ├── base.html           # Template base
│   ├── index.html          # Página inicial
│   ├── content.html        # Visualização de conteúdo
│   ├── user.html           # Perfil de usuário
│   ├── 404.html            # Página de erro 404
│   └── 500.html            # Página de erro 500
├── tests/                  # Testes
├── venv/                   # Ambiente virtual Python
├── .gitignore              # Arquivo gitignore
├── requirements.txt        # Dependências do projeto
└── README.md               # Este arquivo

Referência da API

Este projeto consome a API oficial do TabNews. A documentação completa da API pode ser encontrada em:

Principais endpoints utilizados:

  • /contents - Listar conteúdos
  • /contents/:username/:slug - Obter conteúdo específico
  • /contents/:username/:slug/children - Obter comentários de um conteúdo
  • /users/:username - Obter informações de um usuário

Desenvolvimento

Configuração do ambiente de desenvolvimento

  1. Clone o repositório e instale as dependências conforme as instruções acima.

  2. Instale as dependências de desenvolvimento:

    pip install pytest pytest-flask
    
  3. Execute os testes:

    pytest
    

Contribuição

Contribuições são bem-vindas! Para contribuir:

  1. Faça um fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/nova-funcionalidade)
  3. Faça commit de suas alterações (git commit -m 'Adiciona nova funcionalidade')
  4. Faça push para a branch (git push origin feature/nova-funcionalidade)
  5. Abra um Pull Request

Licença

Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para mais detalhes.

Agradecimentos

  • TabNews por disponibilizar uma API aberta
  • A comunidade Python e Flask pela excelente documentação

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors