Skip to content

Latest commit

 

History

History
47 lines (38 loc) · 2.75 KB

File metadata and controls

47 lines (38 loc) · 2.75 KB

Python Practice to Projects Path

Progression from algorithms/data structures to full CLI/ORM projects. Consolidates Algorithms, Linked Lists & Custom Data Structures, Python CLI Applications, Interactive CLI ORM Project, and Pet Clinic ORM Project guides.

Table of Contents

  1. CS Foundations
  2. Data Structures Deep Dive
  3. CLI Foundations
  4. Project A: Finstagram (Interactive CLI ORM)
  5. Project B: Pet Clinic ORM
  6. Stretch Goals & Next Steps

1) CS Foundations

  • Algorithms: time/space complexity basics; sorting/searching patterns; recursion vs iteration; divide-and-conquer; greedy vs dynamic programming cues.
  • Problem solving: clarify inputs/outputs; choose data structures deliberately; use guard clauses; test edge cases first.

2) Data Structures Deep Dive

  • Linked lists: singly/doubly; insertion/deletion patterns; traversal; reversing.
  • Stacks/queues/deques: typical operations and use cases.
  • Custom structures: trees/tries/hash maps basics; when to build vs use stdlib.
  • Practice prompts: implement core ops with tests; analyze complexity.

3) CLI Foundations

  • I/O: input, argparse basics, command routing.
  • Structure: separate UI loop from business logic; pure functions where possible; use modules for feature grouping.
  • UX in terminal: clear prompts, validation, colored output (colorama), tables (tabulate), progress (tqdm).
  • APIs & DB: calling REST APIs; persisting with SQLite via SQLAlchemy; handling errors and retries.

4) Project A: Finstagram (Interactive CLI ORM)

  • Architecture: modular “blueprint-like” files (bp_auth, bp_users, bp_posts); front_end.py main loop; models.py for ORM.
  • Features: auth, profiles, posts, likes/comments; pagination in terminal; search/filtering.
  • Patterns: service functions for business logic; session management; input validation; menu routing with dispatch tables.
  • Milestones: (1) DB schema; (2) auth flow; (3) posts/feed; (4) interactions; (5) tests for core services.

5) Project B: Pet Clinic ORM

  • Architecture: MVC-like separation (models/controllers/UI); leverage lessons from Finstagram for reuse.
  • Features: owners, pets, appointments, billing; reporting queries.
  • Patterns: transactional boundaries in services; handling relationships; seeding reference data; CLI UX improvements.
  • Milestones: (1) schema & seed; (2) CRUD flows; (3) scheduling logic; (4) reports; (5) tests and refactors.

6) Stretch Goals & Next Steps

  • Add persistence caching (simple in-memory or Redis) for read-heavy commands.
  • Introduce background jobs (e.g., reminders) via schedulers.
  • Port CLI services into Flask APIs using the Flask handbook patterns.
  • Add profiling (time/space) to algorithms; integrate with CI to guard regressions.