Enhancement Three: Databases

Abram Steinbrenner

Artifact Description

The artifact selected for this enhancement is the CS 360 Scale Up! Weight Tracker App, originally developed during the CS 360 Mobile Architecture and Programming course. The application is an Android-based mobile app that allows users to create accounts, authenticate securely, and store weight tracking data using a local SQLite database.

The original implementation supported basic data persistence and CRUD operations but relied on minimal validation and stored sensitive data in an insecure format. While functionally correct, the database design and access patterns left opportunities for improvement in security, maintainability, and structural clarity.

Justification for Inclusion in the ePortfolio

This artifact was selected for inclusion in my ePortfolio because it demonstrates practical database design within a real-world application context. The system manages persistent user data, authentication records, and time-series weight entries, making it a strong example of applied database-backed software development.

The enhancement showcases my ability to identify weaknesses in an existing database design and implement improvements using industry-aligned practices. Key improvements include schema refinement, centralized data access, strict validation, and secure credential storage. Together, these changes significantly improve the reliability and security of the application.

Implemented Database Enhancements

Alignment With Planned Course Outcomes

This enhancement demonstrates strong alignment with the planned course outcomes. In particular, it illustrates the ability to design and evaluate computing solutions involving persistent data, implement reliable database-backed systems, and apply a security-focused mindset when handling sensitive information.

The refactored database architecture and secure credential handling directly support outcomes related to software engineering, database design, and security awareness. No changes to the original outcome coverage plan were required.

Reflection on the Enhancement Process

Enhancing this artifact reinforced the importance of treating databases as a critical component of application security and reliability rather than as simple storage mechanisms. Implementing secure password handling and enforcing validation at multiple layers highlighted how small design decisions can significantly impact system integrity.

One challenge involved refactoring database access without breaking existing application behavior. This required careful testing and a clear separation of responsibilities between the UI and data layers. The process emphasized defensive programming and long-term maintainability.

Overall, this enhancement strengthened my confidence in designing secure, database-driven applications and communicating technical improvements clearly in a professional context.

Evidence