Skip to content

oc-builds/CS340

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

CS-340 Client/Server Development Portfolio

How do you write programs that are maintainable, readable, and adaptable?

Writing maintainable code starts with separating concerns. In Project One, I built a standalone CRUD Python module (AnimalShelter class) that handles all database operations independently from the dashboard UI. This separation meant the same module worked unchanged across both projects without modification. The class accepts credentials at initialization and exposes four clean methods (create, read, update, delete) that any Python application can call. If the database engine changed from MongoDB to something else, only the CRUD module would need updating while every application built on top of it stays the same. In future projects, I could reuse this same pattern to build an API layer, a mobile backend, or a batch processing script, all connecting through one tested module.

How do you approach a problem as a computer scientist?

I approached the Grazioso Salvare project by working through the stack one layer at a time. First the database (importing data, setting up authentication and indexes in MongoDB), then the middleware (Python CRUD module with PyMongo), and finally the client layer (Dash dashboard with filtering, charts, and geolocation). This differed from earlier coursework where assignments were typically self-contained. Here, each module built on the previous one, so decisions made in week 3 (like the database schema and user authentication setup) directly affected what was possible in week 7. For future database projects, I would continue this layered approach and spend more time upfront on data modeling, since the structure of the documents determined how efficiently the dashboard queries could run.

What do computer scientists do, and why does it matter?

Computer scientists solve real problems by turning data into decisions. For Grazioso Salvare, the raw Austin Animal Center dataset contained over 10,000 records that would be impractical to search manually. The dashboard I built lets staff filter animals by rescue type (water, mountain, disaster) in seconds, showing only candidates that match specific breed, sex, and age criteria. The geolocation map pinpoints each animal's location, and the pie chart gives an immediate visual breakdown of available breeds. Without this tool, identifying a suitable rescue dog candidate would require manually reviewing spreadsheets. With it, Grazioso Salvare can make faster, data-driven decisions about which animals to evaluate for training.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors