Software Design & Engineering - Inventory Management System
The Inventory Management System is a mobile application developed as part of the CS 360 - Mobile Architecture course in January 2024. The application was designed to help users track and manage inventory efficiently. It features user authentication, inventory tracking, and real-time database integration.
Justification for Inclusion
This artifact was selected because it demonstrates my ability to develop scalable mobile applications using industry-standard tools and frameworks. The enhancements made to this application significantly improved its functionality and usability in the following ways:
- Software Engineering & Design: The project was refactored using Model-View-Controller (MVC) architecture, improving maintainability and scalability.
- Algorithms & Data Structures: A binary search algorithm was implemented to optimize inventory lookups, reducing search time and improving efficiency.
- Database Integration: The local SQLite database was replaced with Firebase Firestore, enabling real-time inventory updates and secure authentication with Firebase Authentication.
These enhancements highlight my skills in mobile application development, UI/UX design, database management, and algorithm optimization.
Reflection on the Enhancement Process
Enhancing this artifact allowed me to apply best practices in mobile application development, while also deepening my understanding of real-time database interactions and secure authentication mechanisms. Some key takeaways from this process include:
- Learning Outcome: Implementing Firebase authentication required me to understand token-based authentication and secure login handling in mobile applications.
- Challenges Faced: Integrating Firestore required modifying existing database queries and learning how to structure real-time cloud-based data.
- Feedback Incorporation: Based on peer and instructor feedback, I refined the UI for better accessibility and usability, making navigation more intuitive.
- Course Outcomes Met: The enhancement process reinforced skills in mobile application development, database management, and algorithm optimization, all of which are critical in software engineering and architecture.

Enhancements:
- Implemented Firebase Authentication for secure user login.
- Refactored architecture to use Model-View-Controller (MVC) principles.
- Improved UI/UX design for a more intuitive user experience.
Algorithms & Data Structures - Inventory Management System
Artifact Overview
The artifact is an Android-based inventory management application originally created during CS-360. It allows users to manage items in a database with the ability to add, edit, view, and delete records. The app initially stored data locally using SQLite and featured a user authentication system and permission prompt for SMS notifications. It has since been enhanced to use Firebase Realtime Database instead of a local SQLite database, improving scalability and enabling real-time updates.
Justification for Inclusion
This artifact is included in my ePortfolio to highlight my skills in applying data structures and algorithms in a practical setting. Specifically, it demonstrates:
- Use of arrays and cursors to manage inventory data
- Integration of a binary search algorithm to optimize item retrieval
- Implementation of sorting algorithms (e.g., merge sort) for improved user navigation
- Use of HashMap for efficient access to item details
To optimize data handling and retrieval from Firebase, I converted raw item lists into structured InventoryItem
objects, applied a custom merge sort to organize inventory by name, and used binary search for fast lookup. I also implemented a HashMap-based cache for efficient access by item name. These enhancements highlight my proficiency in selecting and applying appropriate data structures for performance and usability.
Alignment with Learning Outcomes
This enhancement aligns with the course outcome:
"Design and evaluate computing solutions that solve a given problem using algorithmic principles and computer science practices and standards appropriate to its solution..."
By integrating optimized search and sorting mechanisms, I demonstrated my ability to choose the right algorithmic approach based on data and usage context. I also showcased the ability to design efficient client-side algorithms that work seamlessly with cloud-based NoSQL databases like Firebase, balancing latency and user responsiveness.
Challenges Faced and Problem Solving
While enhancing the app, I deepened my understanding of algorithm performance trade-offs. For example, using a HashMap significantly reduced lookup time for frequently accessed items. The biggest challenge was restructuring the data retrieval flow without breaking existing logic, particularly in the ItemAdapter
and DataDisplayActivity
classes. Integrating sorting and searching logic with Firebase required careful transformation of Firestore documents into usable data structures.
Another challenge was maintaining UI responsiveness while applying sorting algorithms and converting between Item
and InventoryItem
objects. I also applied defensive programming techniques to ensure that sorting or searching on an empty dataset would not crash the app. Overall, these enhancements improved both my coding efficiency and problem-solving mindset.
Enhancements:
- Implemented a Binary Search Algorithm for faster inventory lookups
- Applied custom merge sort for sorting inventory data
- Utilized a HashMap-based cache for fast item access
- Enhanced UI responsiveness while maintaining real-time data integrity
Databases - QuantigrationUpdates MySQL Database
The QuantigrationUpdates Database was developed during the DAD 220 - Databases course in June 2023. This project involved designing and implementing a relational database system for structured business data management. It includes CRUD operations, SQL indexing, and data security features.
Justification for Inclusion
This artifact was chosen because it demonstrates my ability to design, optimize, and secure database systems. The enhancements made showcase skills in:
- Database Optimization: Implemented SQL indexing to enhance query performance and reduce retrieval time.
- NoSQL Integration: Integrated MongoDB to handle unstructured customer feedback data, improving data flexibility.
- Web-Based Interface: Developed a Node.js web interface to interact with the database, demonstrating full-stack development capabilities.
- Security Enhancements: Used prepared statements to prevent SQL injection attacks, improving database security.
Reflection on the Enhancement Process
Improving this artifact strengthened my knowledge of relational and non-relational database structures and their real-world applications. Some key insights include:
- Learning Outcome: Understanding the performance impact of SQL indexing and how it improves large-scale data retrieval.
- Challenges Faced: Integrating NoSQL with MySQL required designing a hybrid architecture that balances structured and unstructured data.
- Feedback Incorporation: After testing the database performance, I optimized query structures based on real-world use cases.
- Course Outcomes Met: These enhancements helped me gain practical experience in database optimization, security implementation, and web-based database management.
Enhancements:
- Implemented SQL Indexing for faster queries.
- Integrated MongoDB for unstructured customer feedback.
- Developed a web-based interface using Node.js & MySQL.
- Added prepared statements to prevent SQL injection attacks.

