Бывает, что начинающему программисту нечего показать будущему работодателю: рабочих проектов пока нет. В этом случае можно создать программы для себя — так получится и потренироваться, и получить проекты в портфолио.
Мы собрали идеи и примеры проектов, которые подходят новичкам и не зависят от языка программирования и платформы. Выбирайте направление по душе, расчехляйте редактор кода — и погнали!
Прогноз погоды
Прогноз погоды — один из самых простых проектов для начинающего программиста на Python. На самом деле под капотом — обычный скрипт, который будет показывать погоду в выбранном городе. Для этого нужно подключить специальную библиотеку и настроить программу. В результате вы научитесь работать с функциями, API и файлами JSON.
Когда разберётесь, как устроена структура данных с ответом от сервера, сможете выводить дополнительную информацию:
- скорость ветра;
- время рассвета и заката;
- облачность;
- координаты города;
- и много других параметров.
У нас есть статья, где мы рассказали, как можно сделать свой прогноз погоды на Python. Мы взяли этот пример из бесплатного мини-курса Практикума, поэтому, если хотите создавать так же легко и просто такие штуки, — приходите туда.
Динамическая тудушка, или таск-менеджер
Полезная программа для планирования и контроля задач. Самый кайф в том, что для этого понадобится освоить хранение и обработку данных, а также продумать сценарии взаимодействия пользователя с программой. Например, задачи нужно добавлять, удалять, отмечать как выполненные или отслеживать их выполнение в процессе. Короче, можно доводить до ума и сделать со временем даже полноценный коммерческий продукт.
Представьте себя на месте заказчика: что вам нравится и не нравится в других подобных программах? Что бы вы добавили в собственную тудушку или таск-менеджер?
Попробуйте сделать свой таск-менеджер вместе с нами:
Трекер расходов
В мире есть сотни программ для ведения бюджета, но почему бы не появиться ещё одной — той, которую сделали вы. Заодно освоите типы данных, работу с графическим интерфейсом и базой данных. Минимальный функционал такой программы: отслеживать доходы, определять расходы и рассчитывать текущее финансовое состояние. А может, добавить сортировку по типу расходов? Или дополнительно заложить возможность придерживаться определённого лимита, чтобы откладывать часть средств? Так как это ваш проект, то в него можно добавить любые финансовые инструменты — особенно те, которые пригодятся лично вам.
У нас есть статья, о том, как сделать простую программу для ведения бюджета: thecode.media/sqlite-project/. Возьмите её за основу и сделайте всё по красоте.
Электронный ежедневник
Опытные разработчики часто отслеживают своё настроение, чтобы следить за психологическим здоровьем, вовремя отдыхать и не допускать выгорания. В этом может помочь программа, в которой можно фиксировать свои эмоции за день, хранить эти данные и создавать отчёты, например за неделю или месяц.
Работая над такой программой, вы также научитесь работать с базами данных, выводить таблицы и графики и создавать удобные формы. Заодно выясните, в какие моменты вы продуктивнее всего работаете, когда лучше отдыхается и как вообще у вас всё это организовано.
Простая игра
В портфолио необязательно иметь только серьёзные программы — туда можно добавить и игру. Она при этом может быть самой простой, но выглядеть намного круче и интереснее классических рабочих проектов.
Вариантов игр бесконечно много. Самое простое и при этом интересное — взять старые игры с приставок и сделать их в браузере. Если вы Python-разработчик, возьмите любую красивую библиотеку интерфейсов и делайте игру с ней. Как вариант — создать чистый холст и отрисовать на нём всё вручную: и вам практика, и результат классный.
Вот наша подборка игр, которые можно брать за основу:
Сокращатель URL-адресов
Каждой компании, которая публикует свои материалы в сети, однажды будет нужна аналитика по ссылкам — хотя бы сколько человек перешли по ссылке и когда. Для этого часто используют сокращатели ссылок. Их тоже много, платных и бесплатных, но никто не мешает сделать своё — без ограничений, рекламы и СМС. Тут пригодится умение работать с базами данных, создавать уникальные коды и разные способы перенаправлять пользователей на нужные страницы.
Помидорный таймер
Помодоро — это техника планирования времени по интервалам работы и отдыха. Сделайте свой таймер, чтобы быть продуктивным и не отвлекаться во время программирования или обучения. Настройте разные уведомления об истечении таймера, продумайте тонкую настройку интервалов, словом, сделайте всё по-своему и для себя. А если не понравится — просто добавите в портфолио, самому пользоваться необязательно.
Для разных языков программирования есть стандартные библиотеки с необходимыми пакетами. Алгоритм простой: выбираете любой язык программирования, смотрите, нужен ли фреймворк или справитесь сами, и создаёте собственный и крутой инструмент для управления производительностью.
Программа для поиска рецептов
Простая бытовая задача человечества: что приготовить из того, что есть в холодильнике. Сделайте свою программу, которая будет подбирать рецепты по имеющимся ингредиентам. Для этого берёте API и базы данных, чтобы сопоставлять продукты с блюдами из них. Можно даже воспользоваться готовыми нейронками для расширения функционала программы — например чтобы распознавать продукты по фотографии. Но чтобы их прикрутить к своему проекту, тоже понадобится смекалка и программистское умение.
Ещё вариант — взять уже готовую нейросеть и запилить для неё красивую и удобную обёртку — с пошаговыми рецептами, фотографиями готовки и финальным результатом. Если сделаете — напишите в комментариях, будем тоже пользоваться.
Менеджер паролей
Хотя крупные сервисы уже переходят на ключи доступа вместо паролей, многие сайты всё ещё поддерживают классические техники авторизации и аутентификации. Сделайте свой надёжный и безопасный менеджер паролей, который позволит создавать и хранить учётные данные в зашифрованном виде. Для этого понадобится разобраться в методах шифрования и хеширования, а также изучить, как обеспечить безопасность данных.