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.
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.
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.
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.
- Cadastro e autenticação de usuários com controle de níveis de acesso (Desenvolvedores e Tutores).
- Sistema de recomendação de tecnologias baseado no nível de experiência do usuário.
- Criação e visualização de portfólios para desenvolvedores.
- Sistema de avaliações e comparações de ferramentas/frameworks.
- Atualizações regulares com notícias do universo da programação.
- Grupos temáticos e discussões segmentadas por interesse e nível técnico.
-
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.
-
Desenvolvedor pleno busca aprimorar seu portfólio
- Avalia tecnologias intermediárias e compartilha projetos reais no portfólio.
-
Tutor procura usuários para uma vaga_
- Busca desenvolvedores com habilidades específicas por meio de portfólios filtrados.
-
Grupo discute tendências em Inteligência Artificial
- Compartilhamento de insights e resolução colaborativa de problemas.
Descrição: O diagrama modela os principais componentes, como Usuário, Desenvolvedor, Portfólio, Arvore e Avaliação.
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.
O Factory Pattern foi adotado para criar objetos relacionados às recomendações tecnológicas de forma flexível e modular.
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.
- 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.
Os testes verificam a lógica de componentes individuais, como:
- Criação de recomendações personalizadas.
- Sistema de avaliações de ferramentas e tecnologias.
- 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.
- Redução de Duplicidade: Código redundante foi refatorado para utilizar o Factory Pattern.
- Melhoria na Nomenclatura: Nomes de classes e métodos foram ajustados para refletir melhor sua funcionalidade.
- Separação de Responsabilidades: Componentes foram desacoplados para melhorar a organização e facilitar manutenção.
- Backend: Java (Nativo)
- Frontend: Swing (Java)
- Testes: JUnit
- 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



