Git Product home page Git Product logo

orange_portfolio's Introduction

Orange Portfólio🍊

Índice


Sobre

O Orange Portfólio é uma aplicação web para hospedagem de projetos e portfólios. Visa atender a profissionais voltados para área de desenvolvimento e diversas áreas, permitindo a exibição de seus trabalhos e a descoberta de outros projetos.


Recursos

  • Registro de usuários novos
  • Login de usuários existentes
  • Perfil do usuário
  • Explorar projetos

Acesso ao Site

O site está disponível online. Você pode acessá-lo através do seguinte URL:

Orange Portfólio


Tecnologias Utilizadas:

Tecnologias de organização do projeto:


Back-end:

  • Linguagem de Programação: [Python]
  • Framework: [Django][Django REST Framework][REACT.JS][django-allauth]
  • Biblioteca:[django.contrib.auth][rest_framework_simplejwt][django.core.validators][rest_framework.serializers]

Front-end:

  • Linguagem de Programação: [JavaScript] [HTML] [CSS]
  • Framework: [REACT.JS]
  • Biblioteca: [react-router-dom] [@testing-library/react] [ReactDOM]

Banco de dados, Cloud e Documentação :

  • Banco de Dados: [MySQL]
  • Cloud: [boto3]
  • Documentação: [drf_yasg]
  • Serviços Cloud: [EC2] [RDS] [S3] [SNS]

Instalando Frameworks e bibliotecas

Back-end:

  1. Instale o Python através do [python.org]
  2. Abra o terminal do Windows
  3. Execute o comando pip install seguido do nome da biblioteca
  4. Caso não funcione, garanta a instalação do pip usando: python -m ensurepip --default-pip

DJANGO:

  • Django: pip install django

  • Django REST Framework: pip install djangorestframework

  • django-allauth: pip install django-allauth

Autenticação e Autorização:

  • rest_framework_simplejwt: pip install djangorestframework-simplejwt

AWS:

  • boto3: pip install boto3 Documentação:

  • drf_yasg: pip install drf-yasg

Outros:

  • google-auth: pip install google-auth

Front-end:

  • React e React Router Dom: Pré-requisitos: Node.js e npm instalados. Instalação: Abra o terminal na raiz do seu projeto. Execute o seguinte comando para instalar as dependências: npm install

Como Rodar os Testes

Para garantir a integridade e a funcionalidade do projeto, são fornecidos testes automatizados. Siga as instruções abaixo para executar os testes.

Back-end

Execute todos os testes

python manage.py test


Principais Problemas Enfrentados

Nesta seção, destacamos alguns dos desafios que enfrentamos durante o desenvolvimento do projeto. Estes são pontos que requerem atenção e esforços adicionais para melhorar a qualidade e a eficiência do projeto.

  1. Problema 1: Integração das bibliotecas drf-social-oauth2

    • Contexto: Primeiramente, tentamos implementar a autenticação via Google pela biblioteca [drf-social-oauth2].
    • Impacto: Perdemos alguns dias até que a parte do back-end de Login e Registro estivesse totalmente finalizada.
    • Possíveis Soluções: Migramos para a biblioteca [django-allauth].
  2. Problema 2: Obtenção do token de acesso ao logar via Google ou GitHub com a biblioteca Django-Allauth

    • Contexto: Usando a biblioteca django-allauth, não conseguimos obter o token de acesso.
    • Impacto: Isso atrapalhou a integração entre front-end e back-end.
    • Possíveis Soluções: Comentamos essa parte do código pois levaria mais tempo para implementar a função, removemos o botão de login do google que fazia parte do protótipo para não confundir o usuário.

Próximos Passos

Visto que este é um projeto relativamente curto, pensamos em algumas possíveis implementações para o futuro.

Melhoria 1: Gerar dashboards de tecnologias utilizadas e de busca por tags específicas

  • Contexto: Por se tratar de uma plataforma que pode promover contratações, podemos explorar melhor algumas funcionalidades.
  • Objetivo: Acompanhar as tendências de mercado e atualizar profissionais e recrutadores para um melhor desenvolvimento profissional.
  • Plano de Ação: Implementar um banco de dados de registros de pesquisas, executar consultas SQL, gerar dashboards para usuários acompanharem.

Melhoria 2: Ampliar formatos de arquivos que podem ser feitos uploads

  • Contexto: Em uma época de crescimento do mercado de TI, diferentes desenvolvedores podem usar formatos de arquivos diversos.
  • Objetivo: Ampliar o leque de opções para formatos de arquivos.
  • Plano de Ação: Preparação de um banco de dados não relacional, implementações de front-end e back-end.

Melhoria 3: Integração com IA

  • Contexto: Em uma época de grande volume de dados e bibliotecas de Machine Learning, podemos integrar nosso site para otimizações.
  • Objetivo: Integração com IA para recomendações de profissionais para os recrutadores aproveitarem melhor a plataforma, oferecendo recomendações para usuários cruzando dados como: perfil profissional, experiências, tendências.
  • Plano de Ação: Primeiro ter um banco de dados bem estruturado, utilizar APIs que possam ser integradas. Fazer por meio da tecnologia mais adequada (Linear regression, SVM, DecisionTree ou até Deep Learning).

Contribuições

Se você estiver interessado em abordar algum dos problemas mencionados ou contribuir com ideias para os próximos passos, Pode entrar em contato com os desenvolvedores pelos links abaixo.


Integrantes (por ordem alfabética):

Agradecimentos

A SQUAD-2 agradece a toda equipe do OrangeJuice e Fcamara que disponibilizaram profissionais gabaritados e muito gentis para nos acompanhar nesse processo. Ao nosso Padrinho Lucas Moreira sempre solícito e objetivo, à Fabiana Martins por desenvolver um protótipo lindo e bem organizado, e à Mariana Medanha do marketing que nos envolveu nessa hackathon como uma jornada épica.

🧡"Toda grande caminhada começa com um simples passo" (Buda).🍊

orange_portfolio's People

Contributors

thaisraie avatar ianperigovianna avatar iagoreal avatar fesids avatar

Stargazers

Alex NESVIT avatar

Watchers

 avatar

Forkers

ianperigovianna

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.