Python no mundo da programação, todos estão familiarizados com a popularidade dessa linguagem. Aprender python e construir o projeto é sempre uma experiência incrível para desenvolvedores. Essa linguagem realmente merece hype na era de hoje e por que não se pode resolver muitos problemas do mundo real. Bem, a jornada de todo programador começa com o aprendizado do básico de qualquer linguagem de programação e, uma vez que eles avançam, eles percebem a importância de construir os projetos usando a mesma linguagem. Eles ficam curiosos para saber como as coisas funcionam em alguns aplicativos e tentam obter alguma exposição prática para expandir seus conhecimentos construindo alguns projetos interessantes. Se você é um desenvolvedor, aprender a sintaxe de uma linguagem não é suficiente ... é importante saber como os conceitos de uma linguagem podem ser aplicados para resolver alguns problemas ou desafios do mundo real. Bem, 7-Cool-Python-Project-Ideas-for-Intermediate-Developers Python é uma linguagem muito poderosa e a melhor coisa é que é fácil de aprender. Você pode construir muitas coisas legais usando essa linguagem. Portanto, não fique preso apenas a conceitos teóricos. Depois de saber o básico dessa linguagem, vá em frente, explore, descubra alguns bons projetos para trabalhar e obtenha alguma exposição prática. Na programação, lembre-se sempre de que obter experiência prática é a melhor maneira de fortalecer seus conhecimentos. Hoje, neste blog, vamos discutir alguns projetos em que você pode trabalhar como desenvolvedor intermediário de Python. Esses projetos não são muito difíceis nem muito fáceis. Haverá alguns desafios durante a construção desses projetos e você realmente gostará de resolver esses problemas. Dividimos os projetos em três categorias ...
  1. Aplicativos da Web: Basicamente, os desenvolvedores são responsáveis ​​por construir a parte de front-end e back-end do aplicativo. Como desenvolvedor de python, seu foco principal seria a parte de back-end, onde toda a lógica de negócios é implementada. Você pode usar algumas estruturas da web Python, como Django e Flask.
  2. GUI da área de trabalho: você pode criar seu próprio aplicativo de interface gráfica do usuário da área de trabalho usando Python. PySimpleGUI é uma estrutura amigável para aplicativos de desktop. PyQt5 é outra estrutura avançada e poderosa de GUI, mas tem uma curva de aprendizado acentuada.
  3. Linha de comando : os aplicativos de linha de comando funcionam em uma janela de console. Você pode usar docopt , argparse e click frameworks para construir seus aplicativos.
Agora vamos discutir alguns projetos para todas as três categorias acima, um por um ...

Projetos Web

1. Ferramenta URL Shortener

Detalhes do projeto: você está familiarizado com algumas ferramentas como bit.ly e TinyURL ? Essas ferramentas encurtam o URL e os tornam fáceis de lembrar. URLs longos são preenchidos com caracteres difíceis e não é fácil lembrar deles. Esses serviços reduzem os caracteres ou letras em URLs e retorna uma nova URL abreviada para o usuário. Por exemplo: https://practice.geeksforgeeks.org/explore/?category%5B%5D=Arrays&page=1 pode ser convertido em https://tinyurl.com/y92ysnmb . Portanto, aqui o objetivo é construir um tipo de aplicativo semelhante.
Detalhes Técnicos: O objetivo principal deste aplicativo é encurtar a URL e quando o usuário visita a URL encurtada, ele deve ser redirecionado para a URL original. Para gerar os caracteres para o URL encurtado, você pode usar a combinação dos módulos aleatório e de string . Você precisa salvar os URLs originais e encurtados no banco de dados para que sempre que um usuário visitar o URL encurtado (dias, meses ou até anos depois) o aplicativo verifique o banco de dados, se o URL existe, ele redireciona para o original ou então redireciona para uma página 404. Desafio adicional: você pode tornar esta ferramenta mais amigável ao adicionar o recurso de opção de URL personalizado para o usuário. Será mais fácil para um usuário lembrar o URL personalizado gerado por ele mesmo. Exemplos da vida real:

2. Fixar sua nota

Detalhes do projeto: Recebemos tantas ideias ao longo do dia e é uma natureza humana comum que esquecemos as coisas com muita facilidade (até mesmo as ideias ou pensamentos importantes) devido à nossa agenda lotada ou por algum outro motivo. Para lembrar as coisas facilmente, não é uma boa ideia fazer um aplicativo que crie uma nota de nossas ideias online? Usando Python, você pode construir um aplicativo Pin Your Note onde um usuário pode listar todas as coisas que ele / ela deseja lembrar e essa lista estará acessível de qualquer lugar (já que está em uma plataforma digital). Detalhes técnicos: O principal objetivo deste projeto é permitir que os usuários salvem suas ideias. Cada usuário terá suas próprias notas privadas e, para criar notas privadas, você precisa criar um recurso de criação de conta com autenticação. Você pode usar o framework Django que vem com seu sistema de autenticação, mas se estiver usando bottle ou flask, você terá que implementar a autenticação do usuário por conta própria. Você também pode adicionar o recurso que permite aos usuários criar uma categoria das notas. Desta forma, os usuários poderão segmentar suas notas em diferentes categorias. Por exemplo, um usuário pode criar uma seção para linguagens de programação, uma para estrutura de dados e algoritmos e outra para bancos de dados. Se falarmos sobre como usar o banco de dados para este aplicativo para armazenar as informações, você pode usar o módulo MySQLdb se selecionar o banco de dados MySQL ou o módulo psycopg2 para um banco de dados PostgreSQL. Você também pode usar outros módulos, mas isso depende do banco de dados selecionado para o aplicativo. Desafio Adicional: Muitas vezes esquecemos que criamos nossas notas importantes em algum lugar e, dessa vez, esperamos que alguém nos lembre das notas. Assim, você pode adicionar um recurso de lembrete neste aplicativo. Este recurso permitirá que o usuário estabeleça um horário para o lembrete e receberá uma notificação por e-mail sobre as anotações. Exemplos da vida real:

3. Aplicativo de teste

Detalhes do projeto: os questionários são sempre úteis para testar o conhecimento, identificar os erros e corrigi-los. Fazer um teste online é a melhor maneira de entender os conceitos completamente. Usando Python, você pode criar um aplicativo de teste que listará uma série de perguntas para os usuários e os usuários terão permissão para responder a essas perguntas. Pense no aplicativo de teste como uma espécie de questionário. Detalhes técnicos: O objetivo principal é definir questionários (série de perguntas) e as pessoas devem responder a essas perguntas. O aplicativo exibirá a pontuação final e a resposta certa para as perguntas. Aqui você precisa pensar sobre os usuários admin porque apenas o administrador terá permissão para criar o quiz ou definir as perguntas para outros usuários (que participarão do quiz). Você precisa implementar o recurso de criação de conta para manter os registros individuais das pontuações. O usuário administrador deve ser capaz de criar testes com as perguntas e respostas simplesmente carregando um arquivo de texto. Você pode escolher qualquer formato para o arquivo de texto, mas o aplicativo deve converter esse arquivo em um questionário. Em seu banco de dados, você precisa armazenar as perguntas, respostas possíveis, respostas corretas e as pontuações de cada usuário. Você pode usar o módulo MySQLdb se selecionar o banco de dados MySQL ou o módulo psycopg2 para um banco de dados PostgreSQL. Você também pode usar outros módulos, mas isso depende do banco de dados selecionado para o aplicativo. Desafio adicional: adicione um recurso que permita aos usuários adicionar cronômetros aos questionários. Desta forma, os criadores de um questionário (usuários administradores) podem determinar quantos segundos ou minutos um usuário deve gastar em cada pergunta do questionário. Você também pode adicionar o recurso de compartilhamento de questionários, onde um usuário pode compartilhar questionários interessantes em outras plataformas. Exemplos da vida real:

Projetos GUI

1. MP3 Player

Detalhes do projeto: Não é possível reproduzir o conteúdo de um arquivo de áudio sem um player. Arquivos de áudio são arquivos digitais e você pode mostrar sua habilidade construindo uma ferramenta de tocador de MP3 usando Python. Você precisa construir um software MP3 player que emule o MP3 player físico. Usando este software, os usuários terão permissão para reproduzir arquivos MP3 no desktop, laptop ou computador. Detalhes Técnicos: O objetivo é construir um software de MP3 que permita aos seus usuários tocar MP3 e outros arquivos de áudio digital. Você precisa se concentrar na construção de uma bela interface de usuário para o melhor envolvimento dos usuários. A interface listará os arquivos MP3 disponíveis. O usuário também pode ter a opção de listar outros arquivos de áudio digital que não sejam MP3. Além disso, o usuário deve ser capaz de ver as informações sobre o arquivo que está sendo reproduzido. Você pode incluir algumas informações como….
  • o nome do arquivo
  • Seu comprimento
  • A quantidade jogada (minutos e segundos)
  • A quantidade não jogada (minutos e segundos)
Para lidar com os arquivos MP3 e outros arquivos de áudio digital, você pode usar a biblioteca pygame , pymedia e simpleaudio em Python. Essas bibliotecas permitem trabalhar com arquivos multimídia em algumas linhas de código. Você também pode adicionar um recurso que permite aos usuários criar uma lista de reprodução. Para armazenar as informações da lista de reprodução criada, você pode usar o módulo sqlite3 do banco de dados SQLite. Desafio adicional: adicione um recurso que permite aos usuários repetir os arquivos atualmente em execução ou até mesmo embaralhar a lista de arquivos a serem reproduzidos. Você também pode incluir um recurso que permite aos usuários aumentar e diminuir a velocidade de reprodução do arquivo de áudio. Exemplos da vida real:

2. Despertador

Detalhes do projeto: Usamos o alarme em nosso dia a dia que dá um lembrete sonoro ou visual de uma determinada condição. Usando Python, você precisa construir um software de alarme que permita aos usuários definir o tempo para uma determinada condição e quando a condição for atendida, ele deverá emitir um sinal de áudio. Esta ferramenta funcionará no laptop ou desktop do usuário. Detalhes Técnicos: Neste projeto você precisa se concentrar principalmente no tempo e no sinal de áudio do alarme, pois o objetivo principal é ativar os sinais de áudio em determinados horários do dia. Adicione o recurso que permite aos usuários criar, editar e excluir alarmes. Além disso, a interface deve exibir todos os alarmes ativos e inativos. Para sinais de áudio ou lembrete, você precisa definir o tom em seu software. Você pode usar a biblioteca pygame para reproduzir áudio. Você também precisa salvar informações sobre alarmes em seu banco de dados, como ... data, hora e local do tom do alarme. Desafio adicional: adicione um recurso que permite aos usuários definir alarmes recorrentes. Usando este recurso, o usuário será capaz de definir alarmes que tocarão em um determinado horário em determinados dias da semana, todas as semanas. Por exemplo, um alarme pode ser definido às 11h todos os sábados. Você também pode adicionar o recurso de soneca neste aplicativo. Exemplos da vida real:

Projetos Command-LIne

1. Verificador de conectividade do site

Detalhes do projeto: Quando visitamos um URL ou um site da Web, na maioria das vezes obtemos as informações de que precisamos em nosso navegador. Às vezes, os sites podem estar fora do ar e isso pode exibir alguma mensagem de erro no navegador. Isso pode acontecer devido a algum problema do servidor. Aqui você pode mostrar sua habilidade e construir um verificador de conectividade do site. Um verificador de conectividade de site fornece o status de um site, visitando a URL. Ele visita o URL em intervalos regulares e retorna os resultados de cada visita. Em vez de visitar os URLs manualmente para verificar o status do site, você pode usar essa ferramenta para monitorar vários sites de uma página. Detalhes Técnicos: O objetivo principal é verificar o status de um site. Para implementar este recurso, você pode usar TCP ou ICMP para sua conexão. A programação de soquete em python o ajudará a fazer a conexão. Use o módulo socket em Python e para aprender mais sobre a programação de socket visite o link Python Socket ou Python network programming . O usuário deve ser capaz de adicionar e remover sites da lista de sites a serem verificados. Você pode usar docopt , click ou argparseframeworks para adicionar comandos para esses recursos. Lembre-se de que o usuário deve ser capaz de iniciar a ferramenta, pará-la e determinar os intervalos. Você também precisa salvar a lista dos arquivos verificados e para fazer isso você pode usar o módulo sqlite3 do banco de dados SQLite. Desafio adicional: o  usuário precisa verificar continuamente a linha de comando para verificar o status do site. Para evitar isso, você pode adicionar um recurso de notificação (Ex: um som reproduzido em segundo plano) para alertar o usuário quando o status de um site muda. Manter o status anterior de um site em seu banco de dados, porque essa é a única maneira pela qual a ferramenta pode saber quando o status muda. Exemplos da vida real:

2. Ferramenta de renomeação de arquivo

Detalhes do projeto: Muito tempo precisamos renomear os arquivos em nosso diretório de acordo com certas convenções. Por exemplo, File001.jpg, File002.jpg, File003.jpg e assim por diante. Fazer essa tarefa manualmente pode ser repetitivo e enfadonho. Para evitar esse trabalho manual, você pode criar uma ferramenta para renomear um grande número de arquivos. Detalhes Técnicos: O objetivo principal é criar uma ferramenta para renomear arquivos sem erros em alguns segundos. Para renomear os arquivos de destino, você pode usar as   bibliotecas os , sys e shutil disponíveis em Python. Os usuários devem ser capazes de passar pela convenção de nomenclatura de sua própria escolha para renomear todos os arquivos no diretório. Aqui, o módulo regex ajudará a corresponder aos padrões de nomenclatura necessários se você souber como funciona o regex. Se um usuário passa a convenção de nomenclatura, como myfiles, como parte dos comandos, a ferramenta deve renomear os arquivos como myfiles123, onde 123 é um número. Desafio adicional: implemente um recurso que permita aos usuários escolher apenas um determinado número de arquivos para renomear, em vez de todos os arquivos. Para este recurso, a ferramenta classificará os arquivos com base na ordem alfabética, hora de criação do arquivo ou tamanho do arquivo, dependendo dos requisitos do usuário. Exemplos da vida real: