Skip to content

NicolasPetrov/Python-Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

Python-Projects

Welcome! This folder contains all my Python projects. Below are brief descriptions and links to the corresponding folders.

1) Task Manager - Personal Task Manager

task

A personal task manager with a Flask web UI and EN/RU localization. Demonstrates a production-style CRUD app: modular architecture, internationalization, error handling, and an easy deploy setup. Suitable as a starter for learning projects, pet tools, or small internal apps.

Key Features

  • Tasks: create, edit, complete, delete
  • Priorities: High / Medium / Low
  • Statuses: Pending / In Progress / Done
  • Due dates with overdue highlighting
  • Modern, responsive UI (Bootstrap 5)
  • Internationalization (EN/RU, EN by default)
  • Storage: SQLite (single DB file) with a simple migration path

Technical Details: Python 3.7+, Flask, SQLAlchemy, Flask-Babel, Bootstrap 5, Jinja2
Structure (main): app.py, run.py (port 5001), requirements.txt, templates/, translations/

Learn more →


2) GifAnimalBot

416006986-841a89f5-cbcc-495f-a8d8-2b30b05a368c-2

A Telegram bot built with aiogram 3.x that sends random animal GIFs from the GIPHY API (cats, dogs, capybaras, parrots, pandas, otters). It includes usage statistics, a size filter (<5MB) for Telegram compatibility, inline buttons, and resilient error/retry handling. A solid example of an asynchronous bot with a modular architecture.

Key Features

  • Choose an animal → random GIF
  • /stats — counter of received GIFs and favorite animals
  • Size filtering (<5MB) based on GIPHY size metadata
  • Inline buttons: “More”, “Another Animal”
  • In-memory GIF caching; de-duplication via JSON persistence
  • Network retries and logging

Technical Details: Python 3.13, aiogram (3.x), aiohttp

Structure (main)

  • config.py — tokens (Telegram/GIPHY)
  • gif_manager.py — fetching/caching/size filtering/persistence
  • keyboards.py — inline keyboards
  • handlers.py — commands & callbacks (/start, /stats)
  • bot.py — entry point, polling with retries
  • used_gifs.json — prevents duplicates

Learn more →

About

This folder contains all my Python projects.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors