Este é um projeto desenvolvido em Django como teste técnico para a empresa IGS. O objetivo do projeto é criar uma API e um site para gerenciar funcionários e departamentos de uma empresa.
Para instalar as dependências do projeto, execute o seguinte comando:
pip install -r requirements.txt
Para criar as tabelas do banco de dados, execute o seguinte comando:
python manage.py migrate
Para rodar o projeto, execute o seguinte comando:
python manage.py runserver
Isso iniciará o servidor de desenvolvimento em http://127.0.0.1:8000/. A partir daí, você pode acessar a página web do projeto e utilizar a API
Para acessar o painel administrativo do projeto, é necessário criar um superusuário. Para isso, execute o seguinte comando:
python manage.py createsuperuser
Isso solicitará um nome de usuário, email e senha. Após criar o superusuário, você pode acessar o painel administrativo em http://127.0.0.1:8000/admin/.
O web site tem integração total com a API, portanto ao criar ou remover um funcionário ou departamento pelo site, a API também será afetada. O mesmo vale para a criação e remoção de funcionários e departamentos pela API. Se não houver nenhum funcionário ou departamento criado, o site irá exibir uma mensagem informando que não há nenhum funcionário ou departamento cadastrado em suas respectivas páginas.
A API do projeto é composta por duas rotas para gerenciar departamentos e funcionários.
Para listar todos os departamentos cadastrados, utilize o método GET em http://127.0.0.1:8000/api/departments/.
Para criar um novo departamento, utilize o método POST em http://127.0.0.1:8000/api/departments/ com o seguinte corpo:
{
"name": "Nome do departamento"
}
Para deletar um departamento existente, utilize o método DELETE em http://127.0.0.1:8000/api/departments/:id/, onde :id é o ID do departamento a ser deletado.
Para listar todos os funcionários cadastrados, utilize o método GET em http://127.0.0.1:8000/api/employees/.
Para criar um novo funcionário, utilize o método POST em http://127.0.0.1:8000/api/employees/ com o seguinte corpo:
{
"name": "Nome do funcionário",
"email": "Email do funcionário",
"department": "ID do departamento"
}
Para deletar um funcionário existente, utilize o método DELETE em http://127.0.0.1:8000/api/employees/:id/, onde :id é o ID do funcionário a ser deletado.
O site do projeto é composto por duas páginas para gerenciar funcionários e departamentos.
A página inicial do site em http://127.0.0.1:8000/ lista todos os funcionários cadastrados e permite a deleção de funcionários individuais.
A página http://127.0.0.1:8000/employee-form/ permite a criação de novos funcionários, solicitando o nome do funcionário e o ID do departamento ao qual o funcionário pertence.
A página http://127.0.0.1:8000/department/ lista todos os departamentos cadastrados e permite a criação de novos departamentos e a deleção de departamentos individuais.