Este é um projeto de um clone simplificado do Twitter desenvolvido como parte de um desafio final. A aplicação permite que usuários se registrem, façam login, publiquem tweets, visualizem um feed e excluam seus próprios tweets. Todo o projeto foi desenvolvido com foco na simplicidade, seguindo as diretrizes fornecidas.
- Registro de Usuário: Usuários podem se registrar com um nome de usuário e senha.
- Autenticação: Sistema de login para acessar o feed.
- Feed de Tweets: Visualização dos tweets em ordem cronológica, do mais recente para o mais antigo.
- Postagem de Tweets: Usuários logados podem criar novos tweets.
- Exclusão de Tweets: Apenas o autor de um tweet pode excluí-lo.
- Sistema de Mensagens: Feedbacks visuais para ações de sucesso ou erro, como login bem-sucedido ou falha de autenticação.
- Python 3.8+
- pipenv (gerenciador de ambientes e dependências)
-
Clone o repositório:
git clone https://github.com/seu-usuario/twitter-clone.git cd twitter-clone -
Instale as dependências do projeto:
pipenv install
-
Ative o ambiente virtual:
pipenv shell
-
Realize as migrações do banco de dados:
python manage.py migrate
-
Crie um superusuário (opcional, para acessar o painel de administração):
python manage.py createsuperuser
-
Inicie o servidor de desenvolvimento:
python manage.py runserver
-
Acesse a aplicação no navegador:
- URL:
http://127.0.0.1:8000/
- URL:
- Para facilitar os testes, você pode usar as seguintes credenciais pré-criadas:
- Usuário: testuser
- Senha: testpassword
- Página de Login: Tela inicial onde usuários não autenticados são direcionados.
- Página de Registro: Caso o usuário não tenha conta, ele pode criar uma.
- Feed de Tweets: Uma vez logado, o usuário tem acesso ao feed onde são exibidos todos os tweets.
- Postagem de Tweets: Um formulário no topo do feed permite que o usuário poste novos tweets.
- Exclusão de Tweets: Botão de exclusão disponível apenas para o autor do tweet.
- Django 5.0: Framework principal para o desenvolvimento do back-end.
- Bootstrap 5.3: Utilizado para estilização e responsividade.
- Font Awesome: Biblioteca de ícones.
- SQLite: Banco de dados padrão para desenvolvimento.
O desafio consistia em construir um clone simplificado do Twitter com as seguintes funcionalidades:
-
Login e Registro: Implementamos páginas de login e registro com controle de acesso para impedir que usuários não autenticados acessem o feed.
-
Feed de Tweets: Criamos um feed funcional, exibindo tweets em ordem cronológica e permitindo a criação de novos tweets.
-
Permissões para Exclusão: Implementamos controle de permissões, garantindo que apenas o autor de um tweet possa excluí-lo.
-
Sistema de Feedback: Implementamos mensagens de feedback, como sucesso no login ou falha de autenticação.
Toda a comunicação entre o front-end e o back-end foi feita de forma fluida, seguindo o padrão REST para facilitar as operações de login, postagem e exibição de tweets.
- Proteção CSRF (Cross-Site Request Forgery) habilitada.
- Restrições de acesso a rotas protegidas para usuários não autenticados.
- Senhas armazenadas de forma segura utilizando hash.
Desktop.2024.08.19.-.13.53.49.02.1.mp4
Espero que você aproveite este projeto! Qualquer dúvida ou sugestão, fique à vontade para entrar em contato.