ETCA icon

ETCA - EuroTech Center App -

Background

This was the very first iOS app I created and uploaded to the App Store. The app also figured as my graduation assignment for the B.S. Automotive Engineering at HAN University of Applied Sciences in Arnhem.

The idea for this app was to create the 'Swiss pocket knife' for every car mechanic in name of the automotive Helpdesk EuroTech Center.

The app consists of several smaller standalone apps that we call 'App Tools'. These App Tools range from case-specific calculators, such as the VE-MAF and Ohms Law Calculators to custom QR code scanners.

ETCA Screenshots

Focal Points

Programming icon App Requirements
  • Basic Structure
    The app is built on a custom, reactive 'basic structure' that allows for easily implementation and updating several smaller standalone apps called 'App Tools'.
  • Scalable
    The app automatically scales to any iPhone and iPad using AutoLayout.
  • Reusable
    Used the 'DRY' principle and inheritance to make every view and component reusable.
  • Hexadecimal Keyboard
    Created a custom hexadecimal input view for the native keyboard, using the original color and sounds.
  • Dark Mode Support
    At the time, dark mode became available on iPhone and iPad, so it was necessary to support both.
  • User Profile
    The user can create a simple 'user profile' consisting of a name and image.
  • Store App history
    Each App Tool can store at least 10 of its calculated values.
  • Slide-in Menu
    The user can access the custom slide-in menu from anywhere in the app.
  • Version-control
    GitHub was used for version-control.
Software icon Used Frameworks
  • UIKit
    100% programmatically designed with UIKit.
  • PhotosUI
    Used the singleton pattern to create a reusable NSObject that allows the user to choose photos from his library or take a photo.
  • MessageUI
    Allowing the user to send emails with the native mail app.
  • AVFoundation
    Created a custom 2D and 3D code scanner to scan barcodes, QR codes and Data matrixes.
  • RxSwift
    Experimented with this framework to make the app more reactive.
  • CoreTelephony
    Enabeled the users to directly call the helpdesk 'EuroTech center'.
  • SafariServices
    Allowing the user to perform a 'Google search' directly from the P-code app tool.

ETCA Screenshots

What I've Learned

I learned to use AutoLayout programmatically and build apps with UIKit. This app is basically made up of several standalone apps, so I learned to build a layout that accommodates all of these standalone apps and can be easily updated/extended in the future.

I also learned to build the app with the best user experience in mind, meaning I only enable certain functionalities based on the data filled in. For example, do not allow the user to calculate in the calculators until all data is entered, show corresponding error messages and additionally use animations when values change.

Since this was the first app I made, it was also the first app I uploaded to the App Store. So I learned how to archive and upload the app for review and also show it in the App Store afterwards.


Future Features

Future idea icon New Ideas / Improvements
  • SwiftUI
    Update the app to use SwiftUI instead of UIKit to be more 'future proof'.
  • CoreData
    The app currently just uses UserDefaults to store anything.
  • Push Notifications
    Informing users about new features and news from the Eurotech Center.
  • macOS
    Adapt the app to work on macOS for internal usage of EuroTech center.

Download

Scan the QR code to download the app.

Alternatively you can search the App store for 'ETCA' or 'EuroTech Center App' or use the button below.

Mi Shopping List Download Btn
ETCA Download QR code