O HR Management é um sistema para gerenciar os processos relacionados à administração de recursos humanos de uma organização. Ele inclui funcionalidades como gerenciamento de funcionários, controle de ausências, avaliações de desempenho e administração de folhas de pagamento.
- Backend: Django
- Frontend: NUXT (Vite framework)
- Base de Dados: PostgreSQL e MongoDB
- Autenticação: Django Rest Framework + JWT
Para configurar e executar o backend, siga o guia detalhado abaixo:
Este guia detalha os passos necessários para configurar, executar e testar o projeto, incluindo uma descrição dos comandos utilizados.
Crie um ambiente virtual para isolar as dependências do projeto.
python -m venv envAtive o ambiente virtual para que as bibliotecas sejam instaladas corretamente.
- No Windows:
.\env\Scripts\activate
- No Linux/macOS:
source env/bin/activate
Instale todas as dependências listadas no arquivo requirements.txt.
pip install -r requirements.txtAcesse o diretório onde se encontram os ficheiros de gestão do backend.
cd .\HrManagement\Utilize o comando database para criar a base de dados relacional. Este comando executa os scripts SQL necessários para a estrutura inicial da base de dados.
python manage.py databaseUse o comando seed para gerar dados fictícios nas tabelas da base de dados. O parâmetro --quantity define a quantidade de registros a serem criados.
python manage.py seed --quantity 20O comando test executa uma série de testes automáticos para validar a integridade das funções SQL, triggers e vistas materializadas configuradas.
python manage.py testExecute o servidor de desenvolvimento para iniciar a aplicação.
python manage.py runserverO comando show_urls exibe uma lista de todas as URLs configuradas no projeto, o que facilita a navegação e depuração.
python manage.py show_urlsO comando delete remove os dados inseridos pelas operações de seeders, preparando a base de dados para uma nova população.
python manage.py deleteUtilize o comando database com a flag --drop para remover completamente os objetos (tabelas, funções, vistas) da base de dados.
Importante: Certifique-se de excluir os dados (seeders) antes de excluir os objetos.
python manage.py database --drop- Função: Cria e exclui a base de dados, além de executar scripts SQL.
- Parâmetros:
--create: Cria a base de dados.--drop: Exclui a base de dados.--file <path>: Executa um arquivo SQL especificado.
- Função: Gera e insere dados de teste nas tabelas da base de dados.
- Parâmetros:
--quantity <n>: Define a quantidade de registros a serem inseridos (mínimo 10, máximo 10.000).--seeder <name>: Executa um arquivo seeder específico.
- Função: Exclui os dados inseridos pelas operações de seeders.
- Parâmetros:
--seeder <name>: Exclui dados com base em um seeder específico.
- Função: Executa testes automáticos de integridade da base de dados.
- Função: Exibe todas as URLs configuradas no projeto.
Para configurar e executar o frontend, siga os passos abaixo:
cd nuxtnpm installnpm run devTanto o backend quanto o frontend exigem a criação de um arquivo .env para armazenar as variáveis de ambiente necessárias ao funcionamento correto do sistema. Ambos contêm arquivos env.example como modelo.
No backend, o arquivo .env deve conter as seguintes variáveis de ambiente:
- DATABASE_NAME: Nome da base de dados PostgreSQL.
- DATABASE_USER: Utilizador da base de dados.
- DATABASE_PASSWORD: Palavra-passe da base de dados.
- DATABASE_HOST: Endereço do servidor da base de dados.
- DATABASE_PORT: Porta do servidor da base de dados.
- MONGO_HOST: Endereço do servidor MongoDB.
- MONGO_PORT: Porta do servidor MongoDB.
- MONGO_USER: Utilizador do MongoDB.
- MONGO_PASSWORD: Palavra-passe do MongoDB.
- MONGO_DATABASE_NAME: Nome da base de dados MongoDB.
- MONGO_AUTH_SOURCE: Fonte de autenticação do MongoDB.
- SECRET_KEY: Chave secreta usada para a autenticação JWT.
- DEBUG: Define se o modo de depuração está ativado.
Nota: Quando o modo
DEBUGestá ativado, algumas rotas não requerem autenticação, facilitando o desenvolvimento e os testes.
No frontend, o arquivo .env deve conter a seguinte variável de ambiente:
- API_URL: URL da API backend.
Este guia fornece uma descrição detalhada dos comandos e dos passos necessários para iniciar, popular, testar e depurar o projeto, garantindo uma experiência de desenvolvimento mais eficiente.
- Email:
pedro@example.com - Password:
seguinte