Projects — Saajidvali Dudekula

Projects

Flask · MySQL · REST API
Smart Habit Tracker

Backend for a habit-tracking application — 10+ REST endpoints, a normalized relational schema, and JWT-based authentication, built end to end in Flask.

Decisions

Chose Flask to keep the API surface simple across 10+ endpoints. Normalized the schema across users/habits/logs tables to avoid duplicating habit metadata. Used JWT for stateless authentication instead of server-side sessions.

Challenges

Kept auth checks consistent across every route using a reusable decorator that verifies the JWT before each handler runs. Kept JOIN queries readable as the schema grew by keeping foreign keys explicit and testing each query against sample data first.

View on GitHub
Python · File I/O
Expense Tracker CLI

A command-line expense tracker with persistent CSV storage, built to practice clean separation between data, logic, and display layers in plain Python.

Decisions

Used CSV instead of a database since a single-user CLI tool didn't need server or schema overhead. Split the codebase into separate modules for data access, business logic, and display.

Challenges

Handled invalid input (e.g. non-numeric amounts) without crashing using structured exception handling around every read/input operation. Kept the CSV file consistent across add/edit/delete by always rewriting the full file from an in-memory list rather than editing lines in place.

View on GitHub