Stephen Siapno Help

School Projects

Step into my School Projects, where I share my journey from student to practitioner in mobile development.

These projects reflect my passion for learning and mastering mobile application development during my university years.

Join me as I revisit my academic endeavors and celebrate the milestones that shaped my career.

Background

I've been involved in mobile development since my university days, starting back in 2014 as part of my major coursework. During this time, I learned about various types of mobile development, including Android, iOS, and Xamarin.

I was particularly drawn to becoming an iOS developer, but unfortunately, I didn't have access to a Mac device at home, which limited my exploration in this area.

As a result, I focused my efforts on Android development, considering Xamarin as an alternative. However, I felt that solely focusing on Xamarin for Android development would not fully utilize my skills.

Although I had opportunities to work with both Xamarin and iOS during my university studies, I felt that it wasn't enough to fully explore and experiment with these platforms.

When I started Android development, I found myself getting excited about the potential of creating my own mobile applications. While many of my peers focused on developing mobile games, I was more interested in creating practical utility applications for everyday use.

This led me to develop three Android applications as final projects for different subjects during my time at university.

Philippine Tourist Spot App

This was my first Android app, developed as part of my final project in my third year during the first semester of university. The objective of the project was to demonstrate our ability to create a complete Android application from scratch, which was necessary to pass the subject.

We were divided into groups of 3-4 members and given a two-week timeline to conceptualize, develop, and present our project progress. I volunteered to take the lead as the main developer for our team.

Our project aimed to showcase information about tourist spots in the Philippines.

The app consisted of two screens:

  • The first screen featured a list view displaying various tourist spots, each item containing an image, title, and short description.

  • The second screen was a detailed view of the selected tourist spot, presenting a carousel of images, title, and a longer description.

Given our limited experience in Android development, we manually added resources and strings to the project, which required considerable effort from our team.

Due to time constraints and technical challenges, we were only able to include information for 20 tourist spots in the app. Developing the list view and implementing transitions to the detailed view posed some challenges. Additionally, we faced issues with the apk size, which ranged from 100MB to 200MB.

Despite the challenges, we successfully completed the project.

What I Learned:

  • I gained valuable experience in creating a ListView and its items.

  • I learned about designing the Detail View and addressing compatibility issues, especially for tablet devices.

  • I became more mindful of managing image resource sizes to avoid bloating the apk size, which can deter users from installing the app. Although not apparent to our teacher, managing this aspect was a significant challenge for our team.

Ilocus Norte App

The Ilocos Norte App presented a similar scenario, as it was also part of our final project, but with an extended development period of 6 weeks. This project took place during the second semester of my third year at university, as part of my Software Engineering course.

In this subject, which allowed us to choose between web or mobile development, my team of 3 to 4 members opted for Android application development once again, building upon our experience from the previous semester. As I was the most familiar with the process, I assumed the role of the main developer.

Having learned from the challenges encountered in our previous app, we were able to develop the ListView and detailed view more efficiently this time around. Focusing solely on one region, Ilocos Norte, allowed us to include a manageable amount of images and information.

With the extended timeframe, we were able to incorporate additional features, including Google Maps integration. Our intention was to mark famous cities on the map and provide weather forecast information specific to each city. While we successfully added pins to the map, we encountered difficulties integrating live weather data, resulting in static coordinates and simulated weather results.

Lessons Learned:

  • Reflecting on past mistakes from our previous Android project, I gained valuable insights.

  • Learning to integrate Google Maps into our application and programmatically set pins on the map was a significant achievement.

  • Exploring multiple areas on the map and displaying simulated weather data upon selection deepened my understanding of map integration.

  • Gaining experience in customizing pin icons and integrating third-party services enhanced my overall development skills.

Class Record App

Project Overview

The project's objective is to create an Android application called "Class Record" as part of the team's thesis. The application aims to provide teachers and students with a convenient platform for managing class records and grades.

Team Structure:

Web Developer: Responsible for developing web-based components or APIs.

Support/Presenter: Handles presentation and support tasks during project meetings and demonstrations.

Documentation Specialist: Manages documentation, including project reports, user manuals, and technical documentation.

Android Developer (Me): Tasked with designing and developing the Android application.

Key Features
  • Teacher View: Teachers can view their respective classes or all students.

  • Grade Recording: Teachers can record scores from exams at any time, affecting students' total grades.

  • Auto-Computed Grades: The application automatically computes students' grades based on recorded scores.

  • Import/Export Grades: Import and export functionality for grades or scores.

  • Student View: Students can view their grades per teacher.

  • Auto-Computed Total Grades: Students can see the auto-computed total grade for each class.

  • Grade Requirements: Students can determine the required grades to pass a certain class.

  • Credential Management: Differentiates between student and teacher users through login credentials.

  • Cloud Integration: Intended for saving and fetching data through Wi-Fi, though the project only consists of local integration due to time constraints.

Achievement

  1. Credential Management: Successfully implemented different types of login credentials.

  2. Data Manipulation: Dynamically manipulated data based on various inputs, such as user type and class.

  3. RecyclerView Expertise: Enhanced proficiency with RecyclerView implementation and handling complex lists.

  4. Efficient Task Division: Successfully divided tasks among team members for efficient progress.

  5. Documentation Skills: Developed comprehensive documentation for the project, including reports and user manuals.

  6. File Import/Export: Implemented file import and export functionality, allowing seamless sharing and backup of grade records.

  7. Firebase Integration: Acquired proficiency in using Firebase as part of cloud integration, enhancing data storage and retrieval capabilities for future development and scalability.

Reflection

These school projects were crucial in preparing me for my role as an Android developer. My experience with Xamarin was particularly valuable, and it played a significant role in my hiring at Mobext. My ability to integrate technologies like Google Maps, weather APIs, and Firebase also contributed to my selection.

Reflecting on these experiences, I am grateful for the opportunity to apply my skills and look forward to continuing to grow in my role.

Last modified: 07 March 2024