Bem-vindo(a) ao ContratAe, uma aplicação na arquitetura cliente-servidor dedicada a facilitar a integração entre estudantes em busca de estágio e oportunidades disponíveis. Nosso objetivo é aprimorar a comunicação entre estudantes e empresas, visando superar desafios frequentes relacionados à interação entre faculdades e o setor corporativo.
Neste projeto, utilizamos as seguintes tecnologias:
- Entrar ou Criar Conta:
- Completar Perfil:
- Ver Vagas Disponíveis:
- Candidatar-se a uma Vaga:
- Cancelar Candidatura:
- Ver Perfil:
- Ver Candidaturas Realizadas:
- Entrar ou Criar Conta:
- Criar Vaga:
- Ver Candidaturas para uma Vaga:
As funcionalidades do ContratAe são desenvolvidas considerando conceitos e práticas das disciplinas do curso de Sistemas Para Internet do IFPB campus João Pessoa. As principais disciplinas envolvidas são:
- Utilização de Multithreading e Semáforos para proteger regiões críticas.
- Implementação da API de sockets para interagir com o servidor através do protocolo de transporte TCP.
- Desenvolvimento de um protocolo de aplicação personalizado.
- Utilização das estruturas de dados hashtable e lista encadeada.
- Implementação de tratamento de exceções para aprimorar a robustez do sistema.
Para entender o protocolo SPC utilizado neste projeto e como ele funciona, consulte a documentação detalhada em protocol_docs.md.
Arquivo | Descrição |
---|---|
cliente.py |
Implementação do cliente |
servidor.py |
Implementação do servidor |
servidorHTTP.py |
Implementação de um servidor HTTP |
requirements.txt |
Lista de dependências do projeto |
supabase_db.py |
Integração com o banco de dados Supabase |
users.py |
Módulo das clasees dos usuários |
vaga.py |
Módulo da classe da vaga |
DataStructures |
Pasta contendo as estruturas de dados |
Certifique-se de instalar as seguintes dependências antes de executar o projeto:
- Loguru: Uma poderosa biblioteca de logging para Python.
- Supabase: Cliente Python para interagir com a plataforma Supabase.
- python-dotenv: Carrega variáveis de ambiente a partir de um arquivo chamado
.env
. - NumPy: Biblioteca para suporte a arrays e matrizes multidimensionais, junto com funções matemáticas de alto nível para operar nesses elementos.
Use o seguinte comando para instalar as dependências:
pip install -r requirements.txt
Inicie o servidor usando o seguinte comando:
python servidor.py
Em seguida, inicie o cliente, passando o IP do servidor como argumento:
python cliente.py [ip_do_servidor]
Este projeto foi desenvolvido por:
-
Lucas Kaique: GitHub
email : kaique.lucas@academico.ifpb.edu.br -
Luiz Fernando: GitHub
email: fernando.albuquerque@academico.ifpb.edu.br -
Marcelo Bruno : GitHub
email: bruno.marcelo@academico.ifpb.edu.br
Este é um projeto acadêmico e não requer contribuições no momento.
Este projeto está licenciado sob a MIT License.