Este projeto é um sistema de gerenciamento de veículos e motoristas que utiliza o framework Django em Python. O sistema oferece funcionalidades para manter registros e acompanhar as atividades relacionadas aos veículos e motoristas, incluindo suas movimentações.
-
Cadastro de Veículos: Registre informações detalhadas sobre os veículos, como placa, marca, modelo e quilometragem para manutenção.
-
Cadastro de Motoristas: Mantenha um cadastro organizado de motoristas, incluindo detalhes como nome, telefone e número da CNH.
-
Controle de Movimentações de Veículos: Registre as movimentações dos veículos de maneira eficiente, capturando informações como data e horário de partida, destino, data e horário de retorno, quilometragem no início e final da viagem, além dos quilômetros percorridos.
O sistema utiliza o banco de dados SQLite como padrão, especialmente para ambientes de desenvolvimento. No entanto, é importante observar que o uso do SQLite é mais adequado para cenários de desenvolvimento e testes devido às suas características de armazenamento local. Para ambientes de produção ou aplicações em escala, é altamente recomendável considerar a migração para bancos de dados mais robustos, como MySQL ou PostgreSQL, de acordo com suas necessidades e requisitos de desempenho.
Caso opte por utilizar um banco de dados diferente para ambientes de produção, lembre-se de configurar adequadamente as opções de conexão no arquivo settings.py. Isso garantirá que a aplicação esteja preparada para atender à demanda real e oferecer um desempenho estável.
- Clone este repositório para o seu sistema local:
git clone [email protected]:gsmatheus/django-developer-test.git
- Acesse o diretório do projeto:
cd django-developer-test/backend
- Crie e ative um ambiente virtual para isolar as dependências do projeto:
- Windows
python -m venv venv
venv\Scripts\activate
- Linux
python -m venv venv
source venv/bin/activate
- Instale as dependências necessárias:
pip install -r requirements.txt
- Execute as migrações do banco de dados:
python manage.py migrate
- Execute o servidor:
python manage.py runserver
O frontend do projeto é desenvolvido em React.js e requer o Node.js para ser executado. Antes de prosseguir com a instalação, certifique-se de ter o Node.js instalado em seu sistema. Caso não tenha, você pode baixá-lo e instalá-lo a partir do site oficial: https://nodejs.org/
Após instalar o Node.js, siga as etapas abaixo para configurar e executar o frontend:
Para o frontend, é importante configurar variáveis de ambiente para controlar diferentes aspectos da sua aplicação, como URLs de API, chaves de acesso e outras configurações específicas. O arquivo .env é um local onde você pode definir essas variáveis de ambiente de forma organizada. Aqui está como você pode configurá-lo:
Copie o arquivo .env.example
e renomeie-o para .env
, dentro do arquivo .env
, você pode definir o host do backend.
- Acesse o diretório do projeto:
cd django-developer-test/frontend
- Instale as dependências do frontend:
npm install
- Construa o projeto:
npm run build
- Inicie o servidor de pré-visualização:
npm run preview
- Clone o repositório
git clone [email protected]:gsmatheus/django-developer-test.git
- Acesse o diretório do projeto
cd django-developer-test
- Execute o docker-compose para configurar e iniciar os serviços:
docker-compose up -d
- Execute as migrações do banco de dados dentro do contêiner do backend:
docker-compose run backend /usr/local/bin/python manage.py migrate
Para obter informações detalhadas sobre as rotas disponíveis na API, você pode consultar a documentação no README.md na pasta /backend
do projeto. Lá, você encontrará uma descrição completa de todas as rotas, seus endpoints e os detalhes de uso.
Além disso, você também pode acessar a documentação interativa da API através da rota /swagger
quando a aplicação estiver em execução. O Swagger fornece uma interface fácil de usar para explorar as rotas, seus parâmetros e solicitações, tornando mais conveniente entender e testar a API diretamente no navegador.
Certifique-se de aproveitar essas opções para se familiarizar com a API e facilitar o processo de desenvolvimento e integração.
- Acesse o diretório do backend do projeto:
cd django-developer-test/backend
- Execute os testes automatizados:
python manage.py test
- Implementar um sistema robusto de autenticação e autorização de usuários.
- Adicionar testes de interface para garantir a integridade visual e funcional do sistema.
- Aperfeiçoar a documentação da API, incluindo exemplos claros de solicitações e respostas.
- Refinar a criação de formulários, buscando uma experiência mais intuitiva.
- Fortalecer a validação dos campos dos formulários, prevenindo erros e entradas inválidas.
- Aprimorar a exibição e tratamento de mensagens de erro, melhorando a experiência do usuário.