Skip to content

clasSeven7/bussola-dev-map

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧭 bussola.dev MAP

📖 Sobre

bussola.dev MAP é uma plataforma projetada para impulsionar o desenvolvimento de carreira e conhecimento técnico de desenvolvedores, abrangendo desde iniciantes até profissionais avançados. Além de permitir a criação de portfólios, colaboração em grupos temáticos e a obtenção de recomendações tecnológicas personalizadas, a plataforma oferece um vasto conjunto de recursos para orientar e informar os desenvolvedores, divididos em categorias de conhecimento – iniciante, intermediário e avançado – para facilitar o acesso a informações e práticas relevantes para cada nível de experiência.

📚 Contexto / Problema / Solução

  • Contexto

No cenário atual, desenvolvedores enfrentam uma vasta gama de tecnologias e ferramentas disponíveis no mercado, dificultando a escolha de opções ideais para suas necessidades. Além disso, recrutadores buscam maneiras eficientes de encontrar talentos alinhados a projetos específicos.

  • Problema

Desenvolvedores iniciantes carecem de direcionamento sobre quais linguagens aprender ou ferramentas usar. Profissionais intermediários e avançados enfrentam desafios para se manterem atualizados com as inovações do mercado. Recrutadores têm dificuldade em acessar portfólios qualificados para suas demandas.

  • Solução

O bussola.dev oferece uma plataforma segmentada, onde desenvolvedores encontram orientação personalizada para tecnologias, ferramentas e linguagens ideais, além de criar conexões significativas com outros profissionais e recrutadores. A plataforma também auxilia no desenvolvimento de carreira por meio de recomendações baseadas em níveis de experiência e objetivos específicos.


💻 Requisitos

  1. Cadastro e autenticação de usuários com controle de níveis de acesso (Desenvolvedores e Tutores).
  2. Sistema de recomendação de tecnologias baseado no nível de experiência do usuário.
  3. Criação e visualização de portfólios para desenvolvedores.
  4. Sistema de avaliações e comparações de ferramentas/frameworks.
  5. Atualizações regulares com notícias do universo da programação.
  6. Grupos temáticos e discussões segmentadas por interesse e nível técnico.

🗂 Diagrama de Casos de Uso

  1. Usuário iniciante deseja aprender programação

    • Navega por recomendações básicas para linguagens e frameworks de aprendizado rápido.
    • Consulta artigos e tutoriais recomendados para iniciantes.
  2. Desenvolvedor pleno busca aprimorar seu portfólio

    • Avalia tecnologias intermediárias e compartilha projetos reais no portfólio.
  3. Tutor procura usuários para uma vaga_

    • Busca desenvolvedores com habilidades específicas por meio de portfólios filtrados.
  4. Grupo discute tendências em Inteligência Artificial

    • Compartilhamento de insights e resolução colaborativa de problemas.

Diagrama de Casos de Uso


📐 Diagrama de Classes

Descrição: O diagrama modela os principais componentes, como Usuário, Desenvolvedor, Portfólio, Arvore e Avaliação.

Diagrama de Classes


🔄 Diagrama de Atividades

Descrição: O diagrama representa o fluxo principal de navegação do usuário desde o cadastro até a interação com o sistema de recomendações e grupos temáticos.

Diagrama de Atividade


🧠 Padrão de Projeto Utilizado

Padrão: Factory

O Factory Pattern foi adotado para criar objetos relacionados às recomendações tecnológicas de forma flexível e modular.

Funcionamento

O padrão Factory fornece uma interface para a criação de objetos, permitindo que subclasses decidam qual classe instanciar. Por exemplo:

  • A recomendação de tecnologias é gerada dinamicamente com base no nível do desenvolvedor (iniciante, intermediário ou avançado).
  • O Factory avalia os parâmetros fornecidos e retorna a instância correspondente, como RecomendacaoIniciante, RecomendacaoIntermediario ou RecomendacaoAvancado.

Justificativa

  • Escalabilidade: Facilita a adição de novos níveis ou categorias de recomendações sem alterar a lógica principal.
  • Reutilização: Evita duplicação de código e promove modularidade.

🔍 Testes de Unidade e de Integração

Testes de Unidade

Os testes verificam a lógica de componentes individuais, como:

  • Criação de recomendações personalizadas.
  • Sistema de avaliações de ferramentas e tecnologias.

Testes de Integração

  • Garantem que os módulos de autenticação, recomendações e portfólios funcionam de forma integrada.
  • Simulam cenários reais, como um usuário navegando por tecnologias recomendadas e atualizando seu portfólio.

🔧 Mecânicas de Refatoração Aplicadas

  1. Redução de Duplicidade: Código redundante foi refatorado para utilizar o Factory Pattern.
  2. Melhoria na Nomenclatura: Nomes de classes e métodos foram ajustados para refletir melhor sua funcionalidade.
  3. Separação de Responsabilidades: Componentes foram desacoplados para melhorar a organização e facilitar manutenção.

🛠 Frameworks e Tecnologias Utilizadas

🚀 MAP

  • Backend: Java (Nativo)
  • Frontend: Swing (Java)
  • Testes: JUnit

EXTRA - WEB

  • Frontend: NEXT.js, CSS (Tailwind)
  • Backend: Django REST Framework
  • Banco de Dados: PostgreSQL
  • Autenticação: JWT (JSON Web Tokens)
  • Ferramentas de Desenvolvimento:
    • Next para construção do frontend
    • Axios para integração com APIs
    • Pytest para testes automatizados no backend

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages