Projeto Final da Programação da Web CS50: Próximo codificador
O vídeo do projeto é: https://youtu.be/ythhec-bdqa
Idéia principal
Criei um aplicativo Web colaborativo para aprender a codificar. Todos podem criar uma palestra (que são basicamente apenas aulas) e todos podem se inscrever nessas classes. Os principais componentes são:
- Página inicial
- Login/logout/registro
- Página de palestras na qual existem todas as diferentes palestras ou classes e onde você pode filtrar palestras por diferentes critérios
- Uma página individual para cada conversa com todas as suas informações e um botão para se inscrever
- Uma página na qual você pode acessar todas as negociações em que você está inscrito
- Uma página para criar novas palestras
Distinção e complexidade
A página não é semelhante a nada que já criamos. Não é um aplicativo de mídia social nem um comércio eletrônico. Também não é semelhante a outros projetos de anos.
Em termos de complexidade, usei o Django com mais de um modelo (explicado abaixo) e vários arquivos JavaScript no front -end. Além disso, todo o aplicativo da Web responde aos diferentes tamanhos de tela (principalmente telefones celulares e computadores).
Informações de arquivos
Em views.py, há todo o código de back -end. As principais funções são:
- Classe NewTalkform com todos os campos para criar uma nova palestra
- Classe SearchTalkform para conversas sobre filtragem
- Funções de login, logout e registro copiadas do Projeto 4
- New_talk para salvar uma nova palestra e informações relacionadas gostam de tags
- Tags para recuperar tags existentes e adicionar novas
- Tags de filtro: para retornar uma lista de palestras com base nos filtros que o usuário selecionou
- Get_by_title: retornar conversas nas quais as palavras aparecem no título, descrição ou tags
- Fale para recuperar informações sobre uma conversa específica
- Inscrição: para inscrever uma conversa
- Get_enrolled_talks: para recuperar as negociações nas quais você está inscrito
Models.py. Os diferentes modelos são:
- Um modelo de usuários
- Um modelo para tags
- Um modelo fala com todos os diferentes detalhes sobre uma palestra (e um serializador)
Talks.js: Para filtrar palestras, mostre as palestras e o preenchimento automático quando você procura uma palestra
New_talk.js: para a segunda parte da criação de uma nova palestra que está adicionando tags. Ele carrega e mostra tags, salva novas tags e adiciona as tags selecionadas à nova conversa
MyTalks.js: Para fazer as conversas em que você está inscrito e mostre -as no DOM
Modelos para todas as diferentes páginas HTML explicadas acima (8 no total, incluindo um arquivo de layout)
Um arquivo CSS com todos os CSs usados no aplicativo da Web. Técnicas como Flexbox e Grid são usadas
Outros arquivos menos importantes, como URLs, administrador, configurações, imagens estáticas ...
Como executar o aplicativo
- Instale as dependências do projeto executando o pip install -r requisitos.txt
- Faça e aplique migrações executando o Python Manage.Py Makemigrações e Python Manage.py Migrate.