This repository is a hands-on collection of Python practice projects, mini apps, and data exercises. It starts with core Python basics and grows into web apps, authentication, OCR, data workflows, and storage internals.
| Folder | Focus | Docs / Entry Point |
|---|---|---|
01_python_basics |
Introductory Python scripts covering syntax, file handling, SQLite, web scraping, and a small thesaurus app | README |
02_stateless_otp |
Stateless OTP service with FastAPI, delivery backends, SDKs, and tests | README |
03_calorie_calulator |
Flask calorie calculator app with templates, login flow, and dashboard views | README |
04_ocr_extract |
Flask OCR uploader that uses Tesseract to extract text from images | README |
05_problem_solving |
Algorithm and Python interview-style practice, including two pointers, decorators, and concurrency examples | Start with 1.py or basics.py |
06_data_science |
Pandas and NumPy practice, data cleaning, ETL examples, joins, chunked processing, and reporting workflows | Start with basics.py or 5.py |
07_database_storage |
Custom append-only key-value storage engine with indexing, recovery, and compaction | README |
08_store_image_db |
Flask + SQLite demo for storing and serving small images as BLOBs | README |
- Create and activate a virtual environment.
python3 -m venv .venv
source .venv/bin/activate- Choose a module and install its dependencies if it has a
requirements.txtfile.
pip install -r 04_ocr_extract/requirements.txt- Run the relevant script or app from the repository root.
python3 01_python_basics/1.Basics/main.py
python3 04_ocr_extract/run.py
python3 07_database_storage/storage_engine.py- Dependencies are managed per project, not at the repository root.
04_ocr_extractrequires thetesseractCLI to be installed on your system.- Some folders are app-style projects with their own READMEs, while
05_problem_solvingand06_data_scienceare script collections you can run file by file. - Folder names are documented exactly as they exist in the repository, including
03_calorie_calulator.
This project is licensed under the MIT License. See LICENSE for details.