Um gerenciador de projetos para desenvolvedores.
Durante o processo de aprendizado e desenvolvimento de software, é comum acumular links, trechos de código, documentações e anotações espalhadas em diferentes locais, como favoritos do navegador, blocos de notas ou mensagens salvas. O DevBasement resolve esse problema centralizando todas essas informações em um único ecossistema.
A plataforma permite que desenvolvedores organizem repositórios do GitHub, links de documentação, arquivos Markdown, snippets de código e textos em painéis unificados. Além de servir como um organizador pessoal, o sistema mitiga o isolamento do desenvolvedor ao permitir a publicação desses projetos para a comunidade, viabilizando a troca de feedbacks, curtidas, comentários e apoio mútuo entre profissionais.
O sistema conta com três níveis de acesso bem definidos:
- Visualizar o feed principal com projetos públicos em destaque.
- Utilizar a barra de pesquisa global para buscar projetos e perfis públicos.
- Visualizar detalhes de projetos públicos, incluindo suas seções e comentários.
- Visualizar perfis públicos de outros desenvolvedores.
- Acessar as páginas de login e cadastro.
- Todas as permissões do Visitante.
- Criar, editar, atualizar e excluir seus próprios projetos.
- Definir a visibilidade dos seus projetos como públicos ou privados.
- Gerenciar seções dentro dos seus projetos (criar, editar, excluir, fixar itens e responder seções).
- Interagir com projetos de terceiros por meio de curtidas, comentários e favoritados.
- Seguir ou deixar de seguir outros desenvolvedores da plataforma.
- Editar as informações do seu próprio perfil.
- Todas as permissões do Usuário Autenticado.
- Acesso ao painel administrativo nativo do Django para gerenciamento completo do banco de dados.
- Acesso ao Painel de Moderação dedicado na interface do sistema.
- Visualizar a listagem de denúncias (reports) enviadas pelos usuários.
- Moderar ou remover conteúdos que violem as diretrizes da comunidade.
Siga os passos abaixo para configurar e executar o projeto em um ambiente de testes local.
- Python 3.10 ou superior instalado.
- Git instalado.
- Clone o repositório em uma pasta limpa:
git clone https://github.com/ImJotaM/DevBasement.git
cd DevBasement- Crie um ambiente virtual (venv):
python -m venv venv- Ative o ambiente virtual:
- Windows (PowerShell):
.\venv\Scripts\Activate.ps1- Linux/Mac:
source venv/bin/activate- Instale as dependências do projeto:
pip install -r requirements.txt- Execute as migrações do banco de dados para criar a estrutura inicial:
python manage.py migrateImportante: Certifique-se de executar o comando
python manage.py migrateantes de prosseguir com qualquer uma das opções abaixo.
Caso prefira realizar os testes em um banco de dados totalmente zerado e criar seus registros manualmente, crie uma conta de administrador inicial utilizando o terminal:
python manage.py createsuperuserDefina as credenciais conforme solicitado pelas instruções do terminal e, em seguida, inicie o servidor:
python manage.py runserverPara carregar um cenário de testes robusto contendo múltiplos usuários, seguidores, projetos com seções estruturadas, respostas, curtidas, comentários e denúncias, execute o script de automação a partir do diretório raiz:
python scripts/populate.pyVocê pode controlar o comportamento da população de dados passando parâmetros adicionais no terminal:
| Argumento | Ação executada |
|---|---|
| (Nenhum) | Mantém os registros existentes e adiciona uma nova carga de dados de teste por cima. |
--clean |
Limpa completamente os registros antigos de dados do banco (exceto o usuário administrador original @adm) antes de rodar a nova população. |
--clean-only |
Apenas limpa o banco de dados e encerra a execução sem inserir novas informações. |
Exemplo de uso com limpeza completa:
python scripts/populate.py --cleanApós a conclusão da carga, inicie o servidor de desenvolvimento:
python manage.py runserverA aplicação estará disponível em http://localhost:8000/.
Credenciais para teste rápido (Opção B):
- Contas de usuários criadas: joao, clara, lucas, amanda, felipe, bruna, rafael, marina, pedro.
- Senha padrão para todas as contas: 1234
- Conta de administrador: adm (possui acesso total ao Painel de Moderação, a senha se mantém 1234).
Após efetuar o login, clique no botão com o ícone de adição (+) localizado na barra de navegação superior ou utilize o atalho no painel central. Você será redirecionado para a rota /project/create/, onde poderá definir o título, descrição e visibilidade do projeto.
Dentro da página de detalhes do seu projeto, utilize os controles dinâmicos para adicionar novos blocos de conteúdo. É possível segmentar o projeto em repositórios, links externos ou snippets de código, além de poder fixar (pin) as seções mais importantes no topo da página.
A barra de pesquisa na navbar realiza consultas em tempo real a partir do segundo caractere digitado. Ela segmenta de forma automática projetos públicos e perfis de desenvolvedores relevantes, bloqueando a exibição de conteúdos marcados como privados.
Para testar o fluxo de administração, faça login com uma conta que possua permissões de administrador (como o usuário adm fornecido no script de automação). O bloco chamado "Painel de Moderação" ficará visível na barra lateral direita da página inicial, permitindo auditar e gerenciar projetos que foram reportados.