Projeto Final — Meu Ambiente de Desenvolvimento
O Projeto Final integra os dez módulos do FT-001. O objetivo não é demonstrar programação avançada, mas provar que você consegue explicar a relação entre arquivos, runtime, processo, sistema operacional, CPU, memória e rede.
Entrega esperada
ft001-projeto-final/
├── src/sistema.py
├── web/index.html
├── data/
├── docs/ambiente.md
├── docs/execucao.md
├── docs/rede.md
├── docs/arquitetura.md
├── assets/
├── tests/
├── scripts/
├── README.md
├── .gitignore
└── .env.example1. Inventário do ambiente
Registre sistema operacional, release, arquitetura, CPU, núcleos/processadores lógicos, RAM, armazenamento, editor, shell, Python, Git, IPv4/IPv6 quando disponíveis, gateway e DNS. Use “não instalado” quando uma ferramenta opcional não existir.
2. Programa principal
Execute o arquivo src/sistema.py a partir da raiz do projeto. Ele deve aceitar um nome, exibir informações do ambiente, gravar data/resultado.txt em UTF-8 e retornar exit code 0. Nome vazio deve retornar 1.
from datetime import datetime
import os
import platform
import socket
def main():
nome = input("Digite seu nome: ").strip()
if not nome:
print("Erro: o nome não pode ficar vazio.")
return 1
hostname = socket.gethostname()
resultado = [
"=== CENC ACADEMY — FT-001 ===",
f"Aluno: {nome}",
f"Sistema operacional: {platform.system()}",
f"Release informado pela plataforma: {platform.release()}",
f"Arquitetura: {platform.machine()}",
f"Python: {platform.python_version()}",
f"Hostname: {hostname}",
f"Diretório atual: {os.getcwd()}",
f"Data da execução: {datetime.now():%Y-%m-%d %H:%M:%S}",
]
print()
for linha in resultado:
print(linha)
os.makedirs("data", exist_ok=True)
with open("data/resultado.txt", "w", encoding="utf-8") as arquivo:
arquivo.write("\n".join(resultado))
arquivo.write("\n")
print()
print("Resultado salvo em data/resultado.txt")
return 0
if __name__ == "__main__":
raise SystemExit(main())
3. Processo e execução
Em docs/execucao.md, explique arquivo → shell → resolução do comando → runtime Python → processo → espaço de memória → CPU → stdin/stdout → arquivo persistente. Observe um PID quando possível, sem encerrar processos do sistema.
4. Servidor HTTP local
Crie/edite web/index.html e inicie somente em loopback:
python -m http.server 8000 --bind 127.0.0.1 --directory web
# ou python3, conforme o ambienteAcesse http://localhost:8000, teste um caminho inexistente para observar 404, encerre com Ctrl+C e repita em 8080. O servidor http.server é exclusivamente didático e não deve ser usado em produção.
5. Rede
Em docs/rede.md, registre interfaces, endereços, gateway e DNS com ferramentas do sistema. Se houver conectividade, faça uma consulta DNS. Não trate socket.gethostname() ou a resolução do hostname como método universal para descobrir a interface LAN.
6. Git e segurança
Se Git estiver disponível, execute git init e git status. Commit é opcional no FT-001. .env deve permanecer ignorado e .env.example não pode conter senhas, tokens ou chaves reais.
7. Arquitetura
USUÁRIO
↓
EDITOR → ARQUIVO-FONTE
↓
TERMINAL / SHELL
↓
RUNTIME PYTHON
↓
PROCESSO
├── CPU
├── RAM
├── FILESYSTEM
└── REDE
↓
SISTEMA OPERACIONAL
↓
HARDWARERubrica de autoavaliação
- Inventário do ambiente completo.
- Estrutura de diretórios correta.
- sistema.py executa com exit codes 0 e 1 conforme o caso.
- resultado.txt é produzido em UTF-8.
- Servidor local responde em loopback e 404 é compreendido.
- Relatório de rede distingue hostname, interface, endereço e DNS.
- README explica requisitos e execução.
- Nenhum segredo real foi incluído.
- Arquitetura conecta código, runtime, processo, SO e hardware.
- O estudante consegue explicar o projeto sem depender apenas de copiar comandos.
Conclusão
Depois de concluir o projeto e conferir a rubrica, marque este item como concluído. A certificação ainda exige aprovação na Avaliação Final com pelo menos 70%.
Avaliação complementar opcional
Depois de realizar o projeto, você pode concluir este item normalmente e seguir para a Avaliação Final. Se desejar uma análise individual do trabalho, poderá solicitar separadamente uma avaliação com validação humana. Para essa avaliação opcional, compartilhe um link acessível ao pacote ZIP ou repositório do projeto. Esse serviço não é necessário para concluir o FT-001 ou emitir o certificado gratuito.
Avaliação com validação humana
Receba nota e feedback individual sobre esta atividade. Este serviço é opcional e não é necessário para concluir o curso ou receber o certificado gratuito.
Entrar para solicitar