PowerScale Application Overview
The primary artifact presented in this ePortfolio is PowerScale, a mobile weight-tracking application developed in Android Studio using Java, XML, and SQLite. The application allows users to create an account, log in, record daily weight entries, set a goal weight, and track their progress over time.
This artifact was originally developed as part of coursework in the CS-360 Mobile Architecture and Programming course, and was later enhanced to demonstrate growth across multiple areas of computer science, including software engineering, algorithms and data structures, and database design.
Original Artifact
The original version of PowerScale established the baseline functionality of the application and served as the foundation for all later enhancements. It demonstrates the initial implementation of account creation, authentication, weight logging, and goal tracking.
Purpose of Enhancements
The purpose of the enhancements in this project was to improve the overall quality, performance, and maintainability of the application while aligning it with industry-standard development practices.
Each enhancement focuses on a specific area of computer science and builds upon the existing system to demonstrate both technical growth and practical application of key concepts.
Enhancement Areas
The PowerScale application was enhanced across three primary areas:
Software Engineering and Design
- Refactored the application to follow the Model-View-ViewModel (MVVM) architecture
- Introduced a Repository layer to separate concerns between UI and data handling
- Improved maintainability, scalability, and code organization
Algorithms and Data Structures
- Implemented a moving average algorithm for analyzing weight trends
- Added trend detection to provide users with meaningful insights into their progress
- Improved data processing efficiency using optimized logic
Database Design
- Improved the SQLite database schema with constraints and indexing
- Enforced data integrity and consistency
- Optimized query performance and database interactions
Relationship Between Artifacts
Each enhancement builds upon the original PowerScale application and contributes to improving the system as a whole. Together, these enhancements demonstrate a progression from a basic functional application to a more robust, maintainable, and efficient system.
The code review presented in this ePortfolio serves as the foundation for these improvements by identifying weaknesses in the original design and guiding the development of each enhancement.
Conclusion
The PowerScale application and its associated enhancements demonstrate my ability to analyze, design, and improve software systems using industry best practices. This artifact highlights my strengths in software engineering, algorithm design, database management, and secure application development.
Together, these components represent my growth as a developer and my readiness to contribute to professional software engineering environments.