O Manipulador de Bytes é um projeto desenvolvido com o objetivo de aplicar e demonstrar conhecimentos práticos sobre o protocolo HTTP e o WebDAV, integrando esses conceitos à API do Nextcloud. Este projeto permite o upload, download, listagem e exclusão de arquivos em um servidor remoto utilizando a biblioteca webdavclient3
e o framework Django.
- Python: Linguagem de programação principal.
- Django: Framework web utilizado para desenvolver a aplicação.
- WebDAV: Protocolo utilizado para manipulação de arquivos no servidor remoto.
- Nextcloud: Plataforma de nuvem privada que fornece a API WebDAV utilizada no projeto.
- dotenv: Biblioteca utilizada para gerenciar variáveis de ambiente.
O projeto Manipulador de Bytes inclui as seguintes funcionalidades:
- Upload de Arquivos: Permite o envio de arquivos do usuário para o servidor remoto.
- Download de Arquivos: Permite que os usuários baixem arquivos do servidor remoto para o seu sistema local.
- Listagem de Arquivos: Exibe uma lista de todos os arquivos presentes em um diretório específico no servidor remoto.
- Exclusão de Arquivos: Permite a remoção de arquivos no servidor remoto.
- Python 3.x
- Virtualenv (opcional, mas recomendado)
- Django
- requests
- webdavclient3
- dotenv
-
Clone o repositório:
git clone https://github.com/Nando2003/manipulador-de-bytes.git cd manipulador-de-bytes
-
Crie um ambiente virtual e ative-o:
python3 -m venv venv source venv/bin/activate # Linux/MacOS venv\Scripts\activate # Windows
-
Instale os pacotes:
pip install -r requirements.txt
-
Configure as variáveis de ambiente no arquivo
.env
seguindo o exemplo:WEBDAV_USERNAME=seu_usuario WEBDAV_PASSWORD=sua_senha WEBDAV_DIR=seu_diretório WEBDAV_URL=nextcloud_url
-
Execute o servidor Django:
python manage.py runserver
-
Acesse
http://localhost:8000
em seu navegador para interagir com a aplicação. -
Você poderá enviar, listar, baixar e excluir arquivos através da interface fornecida.
Durante o desenvolvimento deste projeto, foram aplicados conhecimentos importantes sobre:
-
Protocolo HTTP: Manipulação de requisições e respostas HTTP, autenticação e tratamento de erros.
-
WebDAV: Utilização do protocolo para gerenciar arquivos de forma remota através de uma interface simples.
-
Integração com APIs: Comunicação eficaz com a API do Nextcloud utilizando requisições HTTP autenticadas.