Bem-vindo ao repositório do Portfólio Dev, um projeto desenvolvido para apresentar as habilidades em desenvolvimento web utilizando o framework Django. Este projeto é um site dinâmico com funcionalidades básicas para apresentação de informações, organização de cursos e gerenciamento de conteúdo.
Dica: Você também pode acessar o projeto na instância configurada do EC2. Use o link abaixo: Projeto ao vivo
Certifique-se de ter os seguintes pré-requisitos instalados antes de iniciar:
- Python 3.12 ou superior
- PostgreSQL 12 ou superior
- Docker e Docker Compose (opcional, mas recomendado)
A estrutura principal do projeto está organizada da seguinte forma:
backend/
: Contém o core do projeto Django.docker/
: Arquivos de configuração Docker para o ambiente de desenvolvimento.static/
: Arquivos estáticos (CSS, imagens, etc).templates/
: Templates HTML para renderização das páginas.pytest/
: Testes automatizados com cobertura de código.
Crie um arquivo .env
na pasta backend
baseado no arquivo env-sample
.
Para acelerar o setup, é possível usar o Docker Compose para configurar o ambiente com PostgreSQL e Django:
docker-compose up --build
Isso irá criar três serviços:
database
: Serviço PostgreSQLbackend
: Aplicação Djangonginx
: Servidor Web para servir os recursos estáticos.
Após o build, a aplicação estará acessível em http://localhost.
- Instale o Poetry para gerenciar as dependências:
pip install poetry
- Instale as dependências:
poetry install
- Execute as migrações e inicie o servidor de desenvolvimento:
python manage.py migrate python manage.py runserver
Após esses passos, o site estará disponível em http://127.0.0.1:8000.
- Django 5.0: Framework principal para o backend.
- PostgreSQL: Banco de dados relacional.
- Docker: Criação de contêineres para o ambiente de desenvolvimento.
- Gunicorn: Servidor WSGI de produção para Django.
- Nginx: Proxy reverso e servidor de arquivos estáticos.
- Bootstrap 5.3: Estilização responsiva do frontend.
- Página Inicial: Uma página com introdução e links para navegação do site.
- Apresentação Pessoal: Uma seção destacando informações sobre o desenvolvedor.
- Gestão de Cursos:
- Listagem de cursos disponíveis.
- Detalhes de cada curso.
- Administração:
- Gerenciamento de cursos pela interface do Django Admin.
Os testes automatizados foram implementados utilizando o pytest. Para executá-los:
poetry run pytest
O relatório de cobertura de código será gerado após a execução.
AVISO: Não use DEBUG=True
em produção. Garanta a configuração adequada de variáveis sensíveis no ambiente.
Sinta-se à vontade para contribuir com o projeto. Para isso:
- Faça o fork do repositório;
- Crie uma nova branch:
git checkout -b minha-feature
- Envie suas alterações:
git push origin minha-feature
- Abra um Pull Request.
- Desenvolvedor: Gustavo Junior dos Santos
- GitHub: github.com/gustavodsantos
Este projeto está licenciado sob os termos da licença MIT. Sinta-se livre para utilizá-lo conforme descrito nos termos da licença.
Site criado por Gustavo Junior dos Santos.